You can easily override theme by wrapping your view into a new Theme instance with custom properties.
You could do the following :
return new MaterialApp(
// default theme here
theme: new ThemeData(),
builder: (context, child) {
final defaultTheme = Theme.of(context);
if (defaultTheme.platform == TargetPlatform.iOS) {
return new Theme(
data: defaultTheme.copyWith(
primaryColor: Colors.purple
),
child: child,
);
}
return child;
}
);
Which would specify a default theme. And then override primaryColor for IOS.