checkSupportPlatform method
Implementation
Future<bool> checkSupportPlatform(CompressFormat format) async {
if (ignoreCheckSupportPlatform) {
return true;
}
if (format == CompressFormat.heic) {
if (Platform.isIOS) {
final String version = await channel.invokeMethod('getSystemVersion');
final firstVersion = version.split('.')[0];
final result = int.parse(firstVersion) >= 11;
const msg = 'The heic format only support iOS 11.0+';
assert(result, msg);
_checkThrowError(result, msg);
return result;
} else if (Platform.isAndroid) {
final int version = await channel.invokeMethod('getSystemVersion');
final result = version >= 28;
const msg = 'The heic format only support android API 28+';
assert(result, msg);
_checkThrowError(result, msg);
return result;
} else {
const msg = 'The heic format only support Android and iOS.';
assert(Platform.isAndroid || Platform.isIOS, msg);
_checkThrowError(false, msg);
return false;
}
} else if (format == CompressFormat.webp) {
if (Platform.isAndroid || Platform.isIOS) {
return true;
}
const msg = 'The webp format only support android and iOS.';
_checkThrowError(false, msg);
return false;
}
return true;
}