parseEntitlements static method

List<String> parseEntitlements(
  1. File entitlementsFile
)

Parse entitlements file

Implementation

static List<String> parseEntitlements(File entitlementsFile) {
  try {
    final content = entitlementsFile.readAsStringSync();
    final plist = PlistParser().parse(content);

    final associatedDomains =
        plist['com.apple.developer.associated-domains'] as List?;
    if (associatedDomains == null) {
      return [];
    }

    final domains = <String>[];
    for (final domain in associatedDomains) {
      if (domain is String) {
        // Remove 'applinks:' prefix if present
        final cleanDomain =
            domain.startsWith('applinks:') ? domain.substring(9) : domain;
        domains.add(cleanDomain);
      }
    }

    return domains;
  } catch (e) {
    return [];
  }
}