resolveIosPackage function
Resolves which package's archive should be checked for a plugin's iOS
readiness (SPEC e2-s1 rework). Federated plugins declare their real
per-platform implementation via default_package; some declare it
inline via pluginClass/ffiPlugin. iOS is preferred over macOS/darwin,
and falling back to macOS only happens when the app-facing pubspec has
no ios entry at all.
Implementation
IosResolution resolveIosPackage(String pluginName, PackageInfo? appInfo) {
for (final platform in _iosPlatformPriority) {
final entry = appInfo?.platformInfo(platform);
if (entry != null) {
return IosResolution(
checkedPackage: entry.defaultPackage ?? pluginName,
platform: platform,
);
}
}
return IosResolution(checkedPackage: pluginName, platform: 'ios');
}