inspectAppleBinaryArchitectures function
Future<Set<String> >
inspectAppleBinaryArchitectures(
- File binary, {
- AppleCommandRunner runner = _runAppleCommand,
Implementation
Future<Set<String>> inspectAppleBinaryArchitectures(
File binary, {
AppleCommandRunner runner = _runAppleCommand,
}) async {
final result = await runner('xcrun', ['lipo', '-info', binary.path]);
final output = '${result.stdout}\n${result.stderr}';
if (result.exitCode != 0) {
throw AppleBinaryException(
'Unable to inspect Apple binary ${binary.path}: ${output.trim()}',
);
}
final architectures = parseAppleLipoArchitectures(output);
if (architectures.isEmpty) {
throw AppleBinaryException(
'Apple binary ${binary.path} reported no architectures: ${output.trim()}',
);
}
return architectures;
}