resolveIosPackage function

IosResolution resolveIosPackage(
  1. String pluginName,
  2. PackageInfo? appInfo
)

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');
}