UNPKG

@bacons/apple-targets

Version:
924 lines (923 loc) 41.9 kB
import { PBXNativeTarget, XcodeProject } from "@bacons/xcode"; export interface TargetDefinition { /** Apple NSExtensionPointIdentifier, e.g. "com.apple.widgetkit-extension" */ extensionPointIdentifier?: string; /** Xcode product type. Defaults to "com.apple.product-type.app-extension" */ productType?: string; /** Whether to set ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES. Default: false */ needsEmbeddedSwift?: boolean; /** System frameworks to link. Default: [] */ frameworks?: readonly string[]; /** Whether app groups should sync from main target by default. Default: false */ appGroupsByDefault?: boolean; /** If true, type has no Swift template and is excluded from CLI / e2e tests */ hasNoTemplate?: boolean; /** Display name for the create-target CLI */ displayName: string; /** Short description for the create-target CLI */ description?: string; } export declare const TARGET_REGISTRY: { readonly widget: { readonly extensionPointIdentifier: "com.apple.widgetkit-extension"; readonly frameworks: readonly ["WidgetKit", "SwiftUI", "ActivityKit", "AppIntents"]; readonly appGroupsByDefault: true; readonly displayName: "Widget"; readonly description: "Home screen widget"; }; readonly "notification-content": { readonly extensionPointIdentifier: "com.apple.usernotifications.content-extension"; readonly frameworks: readonly ["UserNotifications", "UserNotificationsUI"]; readonly displayName: "Notification Content"; }; readonly "notification-service": { readonly extensionPointIdentifier: "com.apple.usernotifications.service"; readonly displayName: "Notification Service"; }; readonly share: { readonly extensionPointIdentifier: "com.apple.share-services"; readonly needsEmbeddedSwift: true; readonly appGroupsByDefault: true; readonly displayName: "Share Extension"; }; readonly intent: { readonly extensionPointIdentifier: "com.apple.intents-service"; readonly needsEmbeddedSwift: true; readonly frameworks: readonly ["Intents"]; readonly displayName: "Siri Intent"; }; readonly "bg-download": { readonly extensionPointIdentifier: "com.apple.background-asset-downloader-extension"; readonly needsEmbeddedSwift: true; readonly appGroupsByDefault: true; readonly displayName: "Background Download"; }; readonly "intent-ui": { readonly extensionPointIdentifier: "com.apple.intents-ui-service"; readonly needsEmbeddedSwift: true; readonly frameworks: readonly ["IntentsUI"]; readonly displayName: "Siri Intent UI"; }; readonly spotlight: { readonly extensionPointIdentifier: "com.apple.spotlight.import"; readonly needsEmbeddedSwift: true; readonly displayName: "Spotlight"; }; readonly matter: { readonly extensionPointIdentifier: "com.apple.matter.support.extension.device-setup"; readonly needsEmbeddedSwift: true; readonly displayName: "Matter"; }; readonly "quicklook-thumbnail": { readonly extensionPointIdentifier: "com.apple.quicklook.thumbnail"; readonly needsEmbeddedSwift: true; readonly frameworks: readonly ["QuickLookThumbnailing"]; readonly displayName: "Quicklook Thumbnail"; }; readonly imessage: { readonly extensionPointIdentifier: "com.apple.message-payload-provider"; readonly hasNoTemplate: true; readonly displayName: "iMessage"; }; readonly clip: { readonly productType: "com.apple.product-type.application.on-demand-install-capable"; readonly needsEmbeddedSwift: true; readonly appGroupsByDefault: true; readonly displayName: "App Clip"; readonly description: "Instantly open your app without installing"; }; readonly watch: { readonly productType: "com.apple.product-type.application"; readonly needsEmbeddedSwift: true; readonly displayName: "Watch"; }; readonly "watch-widget": { readonly frameworks: readonly ["WidgetKit", "SwiftUI"]; readonly appGroupsByDefault: true; readonly displayName: "Watch Widget"; readonly description: "Watch face complication using WidgetKit"; }; readonly "location-push": { readonly extensionPointIdentifier: "com.apple.location.push.service"; readonly displayName: "Location Push"; }; readonly "credentials-provider": { readonly extensionPointIdentifier: "com.apple.authentication-services-credential-provider-ui"; readonly displayName: "Credentials Provider"; }; readonly "account-auth": { readonly extensionPointIdentifier: "com.apple.authentication-services-account-authentication-modification-ui"; readonly displayName: "Account Auth"; }; readonly action: { readonly extensionPointIdentifier: "com.apple.services"; readonly displayName: "Action"; readonly description: "Headless action that appears in share sheets"; }; readonly safari: { readonly extensionPointIdentifier: "com.apple.Safari.web-extension"; readonly displayName: "Safari Extension"; }; readonly "app-intent": { readonly extensionPointIdentifier: "com.apple.appintents-extension"; readonly productType: "com.apple.product-type.extensionkit-extension"; readonly frameworks: readonly ["AppIntents"]; readonly displayName: "App Intent"; }; readonly "device-activity-monitor": { readonly extensionPointIdentifier: "com.apple.deviceactivity.monitor-extension"; readonly frameworks: readonly ["DeviceActivity"]; readonly displayName: "Device Activity Monitor"; }; readonly "network-packet-tunnel": { readonly extensionPointIdentifier: "com.apple.networkextension.packet-tunnel"; readonly needsEmbeddedSwift: true; readonly frameworks: readonly ["NetworkExtension"]; readonly displayName: "Network Extension: Packet Tunnel Provider"; }; readonly "network-app-proxy": { readonly extensionPointIdentifier: "com.apple.networkextension.app-proxy"; readonly needsEmbeddedSwift: true; readonly frameworks: readonly ["NetworkExtension"]; readonly displayName: "Network Extension: App Proxy"; }; readonly "network-filter-data": { readonly extensionPointIdentifier: "com.apple.networkextension.filter-data"; readonly needsEmbeddedSwift: true; readonly frameworks: readonly ["NetworkExtension"]; readonly displayName: "Network Extension: Filter Data"; }; readonly "network-dns-proxy": { readonly extensionPointIdentifier: "com.apple.networkextension.dns-proxy"; readonly needsEmbeddedSwift: true; readonly frameworks: readonly ["NetworkExtension"]; readonly displayName: "Network Extension: DNS Proxy"; }; readonly keyboard: { readonly extensionPointIdentifier: "com.apple.keyboard-service"; readonly needsEmbeddedSwift: true; readonly appGroupsByDefault: true; readonly displayName: "Keyboard Extension"; readonly description: "Custom system keyboard"; }; readonly "content-blocker": { readonly extensionPointIdentifier: "com.apple.Safari.content-blocker"; readonly displayName: "Content Blocker"; readonly description: "Safari content blocker extension"; }; readonly "file-provider": { readonly extensionPointIdentifier: "com.apple.fileprovider-nonui"; readonly frameworks: readonly ["UniformTypeIdentifiers"]; readonly appGroupsByDefault: true; readonly displayName: "File Provider"; }; readonly "broadcast-upload": { readonly extensionPointIdentifier: "com.apple.broadcast-services-upload"; readonly frameworks: readonly ["ReplayKit"]; readonly displayName: "Broadcast Upload"; }; readonly "call-directory": { readonly extensionPointIdentifier: "com.apple.callkit.call-directory"; readonly frameworks: readonly ["CallKit"]; readonly displayName: "Call Directory"; }; readonly "message-filter": { readonly extensionPointIdentifier: "com.apple.identitylookup.message-filter"; readonly frameworks: readonly ["IdentityLookup"]; readonly displayName: "Message Filter"; }; readonly "file-provider-ui": { readonly extensionPointIdentifier: "com.apple.fileprovider-actionsui"; readonly frameworks: readonly ["FileProviderUI"]; readonly displayName: "File Provider UI"; }; readonly "broadcast-setup-ui": { readonly extensionPointIdentifier: "com.apple.broadcast-services-setupui"; readonly frameworks: readonly ["ReplayKit"]; readonly displayName: "Broadcast Setup UI"; }; readonly "classkit-context": { readonly extensionPointIdentifier: "com.apple.classkit.context-provider"; readonly frameworks: readonly ["ClassKit"]; readonly displayName: "ClassKit Context Provider"; }; readonly "unwanted-communication": { readonly extensionPointIdentifier: "com.apple.identitylookup.classification-ui"; readonly frameworks: readonly ["IdentityLookup", "IdentityLookupUI"]; readonly displayName: "Unwanted Communication Reporting"; }; readonly "photo-editing": { readonly extensionPointIdentifier: "com.apple.photo-editing"; readonly frameworks: readonly ["Photos", "PhotosUI"]; readonly displayName: "Photo Editing"; }; readonly "quicklook-preview": { readonly extensionPointIdentifier: "com.apple.quicklook.preview"; readonly needsEmbeddedSwift: true; readonly frameworks: readonly ["QuickLook"]; readonly displayName: "Quick Look Preview"; }; readonly "spotlight-delegate": { readonly extensionPointIdentifier: "com.apple.spotlight.index"; readonly frameworks: readonly ["CoreSpotlight"]; readonly displayName: "CoreSpotlight Delegate"; }; readonly "virtual-conference": { readonly extensionPointIdentifier: "com.apple.calendar.virtualconference"; readonly displayName: "Virtual Conference Provider"; }; readonly "shield-action": { readonly extensionPointIdentifier: "com.apple.ManagedSettings.shield-action-service"; readonly frameworks: readonly ["ManagedSettings"]; readonly displayName: "Shield Action"; }; readonly "shield-config": { readonly extensionPointIdentifier: "com.apple.ManagedSettingsUI.shield-configuration-service"; readonly frameworks: readonly ["ManagedSettings", "ManagedSettingsUI"]; readonly displayName: "Shield Configuration"; }; readonly "print-service": { readonly extensionPointIdentifier: "com.apple.printing.discovery"; readonly displayName: "Print Service"; }; readonly "smart-card": { readonly extensionPointIdentifier: "com.apple.ctk-tokens"; readonly frameworks: readonly ["CryptoTokenKit"]; readonly displayName: "Smart Card"; readonly description: "Persistent token / smart card extension"; }; readonly "authentication-services": { readonly extensionPointIdentifier: "com.apple.AppSSO.idp-extension"; readonly frameworks: readonly ["AuthenticationServices"]; readonly displayName: "Authentication Services"; readonly description: "Single sign-on extension"; }; readonly wallet: { readonly extensionPointIdentifier: "com.apple.PassKit.issuer-provisioning"; readonly frameworks: readonly ["PassKit"]; readonly appGroupsByDefault: true; readonly displayName: "Apple Wallet (Non-UI)"; readonly description: "In-App Provisioning Extension (Non-UI) for adding payment passes to Apple Wallet"; }; readonly "wallet-ui": { readonly extensionPointIdentifier: "com.apple.PassKit.issuer-provisioning.authorization"; readonly frameworks: readonly ["PassKit", "UIKit"]; readonly appGroupsByDefault: true; readonly displayName: "Apple Wallet (UI)"; readonly description: "In-App Provisioning Authorization UI Extension for Apple Wallet"; }; }; export type ExtensionType = keyof typeof TARGET_REGISTRY; /** * Directory under `ios/` where this plugin writes derived target files (e.g. * `generated.entitlements`) during prebuild. The leading-dot `.targets` name * makes it obvious on disk that the contents are generated and should not be * edited by hand, while avoiding a colon in the path (which is risky for Xcode * build-setting paths). Files live at `ios/<TARGET_GENERATED_DIR>/<productName>/`. */ export declare const TARGET_GENERATED_DIR = ".targets"; /** Maps Apple extension point identifiers to ExtensionType values. */ export declare const KNOWN_EXTENSION_POINT_IDENTIFIERS: Record<string, ExtensionType>; /** Whether app groups should sync from the main target by default. */ export declare const SHOULD_USE_APP_GROUPS_BY_DEFAULT: Record<ExtensionType, boolean>; export declare function productTypeForType(type: ExtensionType): string; export declare function needsEmbeddedSwift(type: ExtensionType): boolean; export declare function getFrameworksForType(type: ExtensionType): string[]; export declare function getTargetInfoPlistForType(type: ExtensionType): { NSExtension?: undefined; EXAppExtensionAttributes?: undefined; CFBundleName?: undefined; CFBundleIdentifier?: undefined; CFBundleVersion?: undefined; CFBundleExecutable?: undefined; CFBundlePackageType?: undefined; CFBundleShortVersionString?: undefined; UIApplicationSupportsIndirectInputEvents?: undefined; NSAppClip?: undefined; NSAppTransportSecurity?: undefined; UILaunchStoryboardName?: undefined; UIUserInterfaceStyle?: undefined; UIViewControllerBasedStatusBarAppearance?: undefined; CSExtensionLabel?: undefined; } | { NSExtension: { NSExtensionAttributes: { NSExtensionActivationRule: { NSExtensionActivationSupportsFileWithMaxCount: number; NSExtensionActivationSupportsImageWithMaxCount: number; NSExtensionActivationSupportsMovieWithMaxCount: number; NSExtensionActivationSupportsText: boolean; NSExtensionActivationSupportsWebURLWithMaxCount: number; }; NSExtensionJavaScriptPreprocessingFile: string; NSExtensionServiceAllowsFinderPreviewItem: boolean; NSExtensionServiceAllowsTouchBarItem: boolean; NSExtensionServiceFinderPreviewIconName: string; NSExtensionServiceTouchBarBezelColorName: string; NSExtensionServiceTouchBarIconName: string; ASAccountAuthenticationModificationSupportsStrongPasswordChange?: undefined; ASAccountAuthenticationModificationSupportsUpgradeToSignInWithApple?: undefined; RequestsOpenAccess?: undefined; IsASCIICapable?: undefined; PrefersRightToLeft?: undefined; PrimaryLanguage?: undefined; QLSupportedContentTypes?: undefined; QLThumbnailMinimumDimension?: undefined; CSSupportedContentTypes?: undefined; IntentsSupported?: undefined; IntentsRestrictedWhileLocked?: undefined; UNNotificationExtensionCategory?: undefined; UNNotificationExtensionInitialContentSizeRatio?: undefined; PHSupportedMediaTypes?: undefined; }; NSExtensionPointIdentifier: string; NSExtensionPrincipalClass: string; NSExtensionFileProviderSupportsEnumeration?: undefined; RPBroadcastProcessMode?: undefined; }; EXAppExtensionAttributes?: undefined; CFBundleName?: undefined; CFBundleIdentifier?: undefined; CFBundleVersion?: undefined; CFBundleExecutable?: undefined; CFBundlePackageType?: undefined; CFBundleShortVersionString?: undefined; UIApplicationSupportsIndirectInputEvents?: undefined; NSAppClip?: undefined; NSAppTransportSecurity?: undefined; UILaunchStoryboardName?: undefined; UIUserInterfaceStyle?: undefined; UIViewControllerBasedStatusBarAppearance?: undefined; CSExtensionLabel?: undefined; } | { EXAppExtensionAttributes: { EXExtensionPointIdentifier: string; }; NSExtension?: undefined; CFBundleName?: undefined; CFBundleIdentifier?: undefined; CFBundleVersion?: undefined; CFBundleExecutable?: undefined; CFBundlePackageType?: undefined; CFBundleShortVersionString?: undefined; UIApplicationSupportsIndirectInputEvents?: undefined; NSAppClip?: undefined; NSAppTransportSecurity?: undefined; UILaunchStoryboardName?: undefined; UIUserInterfaceStyle?: undefined; UIViewControllerBasedStatusBarAppearance?: undefined; CSExtensionLabel?: undefined; } | { CFBundleName: string; CFBundleIdentifier: string; CFBundleVersion: string; CFBundleExecutable: string; CFBundlePackageType: string; CFBundleShortVersionString: string; UIApplicationSupportsIndirectInputEvents: boolean; NSAppClip: { NSAppClipRequestEphemeralUserNotification: boolean; NSAppClipRequestLocationConfirmation: boolean; }; NSAppTransportSecurity: { NSAllowsArbitraryLoads: boolean; NSAllowsLocalNetworking: boolean; }; UILaunchStoryboardName: string; UIUserInterfaceStyle: string; UIViewControllerBasedStatusBarAppearance: boolean; NSExtension?: undefined; EXAppExtensionAttributes?: undefined; CSExtensionLabel?: undefined; } | { NSExtension: { NSExtensionPointIdentifier: string | undefined; NSExtensionPrincipalClass: string; NSExtensionAttributes?: undefined; NSExtensionFileProviderSupportsEnumeration?: undefined; RPBroadcastProcessMode?: undefined; }; EXAppExtensionAttributes?: undefined; CFBundleName?: undefined; CFBundleIdentifier?: undefined; CFBundleVersion?: undefined; CFBundleExecutable?: undefined; CFBundlePackageType?: undefined; CFBundleShortVersionString?: undefined; UIApplicationSupportsIndirectInputEvents?: undefined; NSAppClip?: undefined; NSAppTransportSecurity?: undefined; UILaunchStoryboardName?: undefined; UIUserInterfaceStyle?: undefined; UIViewControllerBasedStatusBarAppearance?: undefined; CSExtensionLabel?: undefined; } | { NSExtension: { NSExtensionPointIdentifier: string | undefined; NSExtensionPrincipalClass: string; NSExtensionAttributes: { ASAccountAuthenticationModificationSupportsStrongPasswordChange: boolean; ASAccountAuthenticationModificationSupportsUpgradeToSignInWithApple: boolean; NSExtensionActivationRule?: undefined; NSExtensionJavaScriptPreprocessingFile?: undefined; NSExtensionServiceAllowsFinderPreviewItem?: undefined; NSExtensionServiceAllowsTouchBarItem?: undefined; NSExtensionServiceFinderPreviewIconName?: undefined; NSExtensionServiceTouchBarBezelColorName?: undefined; NSExtensionServiceTouchBarIconName?: undefined; RequestsOpenAccess?: undefined; IsASCIICapable?: undefined; PrefersRightToLeft?: undefined; PrimaryLanguage?: undefined; QLSupportedContentTypes?: undefined; QLThumbnailMinimumDimension?: undefined; CSSupportedContentTypes?: undefined; IntentsSupported?: undefined; IntentsRestrictedWhileLocked?: undefined; UNNotificationExtensionCategory?: undefined; UNNotificationExtensionInitialContentSizeRatio?: undefined; PHSupportedMediaTypes?: undefined; }; NSExtensionFileProviderSupportsEnumeration?: undefined; RPBroadcastProcessMode?: undefined; }; EXAppExtensionAttributes?: undefined; CFBundleName?: undefined; CFBundleIdentifier?: undefined; CFBundleVersion?: undefined; CFBundleExecutable?: undefined; CFBundlePackageType?: undefined; CFBundleShortVersionString?: undefined; UIApplicationSupportsIndirectInputEvents?: undefined; NSAppClip?: undefined; NSAppTransportSecurity?: undefined; UILaunchStoryboardName?: undefined; UIUserInterfaceStyle?: undefined; UIViewControllerBasedStatusBarAppearance?: undefined; CSExtensionLabel?: undefined; } | { NSExtension: { NSExtensionPointIdentifier: string | undefined; NSExtensionPrincipalClass: string; NSExtensionAttributes: { RequestsOpenAccess: boolean; IsASCIICapable: boolean; PrefersRightToLeft: boolean; PrimaryLanguage: string; NSExtensionActivationRule?: undefined; NSExtensionJavaScriptPreprocessingFile?: undefined; NSExtensionServiceAllowsFinderPreviewItem?: undefined; NSExtensionServiceAllowsTouchBarItem?: undefined; NSExtensionServiceFinderPreviewIconName?: undefined; NSExtensionServiceTouchBarBezelColorName?: undefined; NSExtensionServiceTouchBarIconName?: undefined; ASAccountAuthenticationModificationSupportsStrongPasswordChange?: undefined; ASAccountAuthenticationModificationSupportsUpgradeToSignInWithApple?: undefined; QLSupportedContentTypes?: undefined; QLThumbnailMinimumDimension?: undefined; CSSupportedContentTypes?: undefined; IntentsSupported?: undefined; IntentsRestrictedWhileLocked?: undefined; UNNotificationExtensionCategory?: undefined; UNNotificationExtensionInitialContentSizeRatio?: undefined; PHSupportedMediaTypes?: undefined; }; NSExtensionFileProviderSupportsEnumeration?: undefined; RPBroadcastProcessMode?: undefined; }; EXAppExtensionAttributes?: undefined; CFBundleName?: undefined; CFBundleIdentifier?: undefined; CFBundleVersion?: undefined; CFBundleExecutable?: undefined; CFBundlePackageType?: undefined; CFBundleShortVersionString?: undefined; UIApplicationSupportsIndirectInputEvents?: undefined; NSAppClip?: undefined; NSAppTransportSecurity?: undefined; UILaunchStoryboardName?: undefined; UIUserInterfaceStyle?: undefined; UIViewControllerBasedStatusBarAppearance?: undefined; CSExtensionLabel?: undefined; } | { NSExtension: { NSExtensionAttributes: { NSExtensionActivationRule: string; NSExtensionJavaScriptPreprocessingFile?: undefined; NSExtensionServiceAllowsFinderPreviewItem?: undefined; NSExtensionServiceAllowsTouchBarItem?: undefined; NSExtensionServiceFinderPreviewIconName?: undefined; NSExtensionServiceTouchBarBezelColorName?: undefined; NSExtensionServiceTouchBarIconName?: undefined; ASAccountAuthenticationModificationSupportsStrongPasswordChange?: undefined; ASAccountAuthenticationModificationSupportsUpgradeToSignInWithApple?: undefined; RequestsOpenAccess?: undefined; IsASCIICapable?: undefined; PrefersRightToLeft?: undefined; PrimaryLanguage?: undefined; QLSupportedContentTypes?: undefined; QLThumbnailMinimumDimension?: undefined; CSSupportedContentTypes?: undefined; IntentsSupported?: undefined; IntentsRestrictedWhileLocked?: undefined; UNNotificationExtensionCategory?: undefined; UNNotificationExtensionInitialContentSizeRatio?: undefined; PHSupportedMediaTypes?: undefined; }; NSExtensionPrincipalClass: string; NSExtensionPointIdentifier: string | undefined; NSExtensionFileProviderSupportsEnumeration?: undefined; RPBroadcastProcessMode?: undefined; }; EXAppExtensionAttributes?: undefined; CFBundleName?: undefined; CFBundleIdentifier?: undefined; CFBundleVersion?: undefined; CFBundleExecutable?: undefined; CFBundlePackageType?: undefined; CFBundleShortVersionString?: undefined; UIApplicationSupportsIndirectInputEvents?: undefined; NSAppClip?: undefined; NSAppTransportSecurity?: undefined; UILaunchStoryboardName?: undefined; UIUserInterfaceStyle?: undefined; UIViewControllerBasedStatusBarAppearance?: undefined; CSExtensionLabel?: undefined; } | { NSExtension: { NSExtensionAttributes: { QLSupportedContentTypes: never[]; QLThumbnailMinimumDimension: number; NSExtensionActivationRule?: undefined; NSExtensionJavaScriptPreprocessingFile?: undefined; NSExtensionServiceAllowsFinderPreviewItem?: undefined; NSExtensionServiceAllowsTouchBarItem?: undefined; NSExtensionServiceFinderPreviewIconName?: undefined; NSExtensionServiceTouchBarBezelColorName?: undefined; NSExtensionServiceTouchBarIconName?: undefined; ASAccountAuthenticationModificationSupportsStrongPasswordChange?: undefined; ASAccountAuthenticationModificationSupportsUpgradeToSignInWithApple?: undefined; RequestsOpenAccess?: undefined; IsASCIICapable?: undefined; PrefersRightToLeft?: undefined; PrimaryLanguage?: undefined; CSSupportedContentTypes?: undefined; IntentsSupported?: undefined; IntentsRestrictedWhileLocked?: undefined; UNNotificationExtensionCategory?: undefined; UNNotificationExtensionInitialContentSizeRatio?: undefined; PHSupportedMediaTypes?: undefined; }; NSExtensionPrincipalClass: string; NSExtensionPointIdentifier: string | undefined; NSExtensionFileProviderSupportsEnumeration?: undefined; RPBroadcastProcessMode?: undefined; }; EXAppExtensionAttributes?: undefined; CFBundleName?: undefined; CFBundleIdentifier?: undefined; CFBundleVersion?: undefined; CFBundleExecutable?: undefined; CFBundlePackageType?: undefined; CFBundleShortVersionString?: undefined; UIApplicationSupportsIndirectInputEvents?: undefined; NSAppClip?: undefined; NSAppTransportSecurity?: undefined; UILaunchStoryboardName?: undefined; UIUserInterfaceStyle?: undefined; UIViewControllerBasedStatusBarAppearance?: undefined; CSExtensionLabel?: undefined; } | { CSExtensionLabel: string; NSExtension: { NSExtensionAttributes: { CSSupportedContentTypes: string[]; NSExtensionActivationRule?: undefined; NSExtensionJavaScriptPreprocessingFile?: undefined; NSExtensionServiceAllowsFinderPreviewItem?: undefined; NSExtensionServiceAllowsTouchBarItem?: undefined; NSExtensionServiceFinderPreviewIconName?: undefined; NSExtensionServiceTouchBarBezelColorName?: undefined; NSExtensionServiceTouchBarIconName?: undefined; ASAccountAuthenticationModificationSupportsStrongPasswordChange?: undefined; ASAccountAuthenticationModificationSupportsUpgradeToSignInWithApple?: undefined; RequestsOpenAccess?: undefined; IsASCIICapable?: undefined; PrefersRightToLeft?: undefined; PrimaryLanguage?: undefined; QLSupportedContentTypes?: undefined; QLThumbnailMinimumDimension?: undefined; IntentsSupported?: undefined; IntentsRestrictedWhileLocked?: undefined; UNNotificationExtensionCategory?: undefined; UNNotificationExtensionInitialContentSizeRatio?: undefined; PHSupportedMediaTypes?: undefined; }; NSExtensionPrincipalClass: string; NSExtensionPointIdentifier: string | undefined; NSExtensionFileProviderSupportsEnumeration?: undefined; RPBroadcastProcessMode?: undefined; }; EXAppExtensionAttributes?: undefined; CFBundleName?: undefined; CFBundleIdentifier?: undefined; CFBundleVersion?: undefined; CFBundleExecutable?: undefined; CFBundlePackageType?: undefined; CFBundleShortVersionString?: undefined; UIApplicationSupportsIndirectInputEvents?: undefined; NSAppClip?: undefined; NSAppTransportSecurity?: undefined; UILaunchStoryboardName?: undefined; UIUserInterfaceStyle?: undefined; UIViewControllerBasedStatusBarAppearance?: undefined; } | { NSExtension: { NSExtensionAttributes: { IntentsSupported: string[]; NSExtensionActivationRule?: undefined; NSExtensionJavaScriptPreprocessingFile?: undefined; NSExtensionServiceAllowsFinderPreviewItem?: undefined; NSExtensionServiceAllowsTouchBarItem?: undefined; NSExtensionServiceFinderPreviewIconName?: undefined; NSExtensionServiceTouchBarBezelColorName?: undefined; NSExtensionServiceTouchBarIconName?: undefined; ASAccountAuthenticationModificationSupportsStrongPasswordChange?: undefined; ASAccountAuthenticationModificationSupportsUpgradeToSignInWithApple?: undefined; RequestsOpenAccess?: undefined; IsASCIICapable?: undefined; PrefersRightToLeft?: undefined; PrimaryLanguage?: undefined; QLSupportedContentTypes?: undefined; QLThumbnailMinimumDimension?: undefined; CSSupportedContentTypes?: undefined; IntentsRestrictedWhileLocked?: undefined; UNNotificationExtensionCategory?: undefined; UNNotificationExtensionInitialContentSizeRatio?: undefined; PHSupportedMediaTypes?: undefined; }; NSExtensionPrincipalClass: string; NSExtensionPointIdentifier: string | undefined; NSExtensionFileProviderSupportsEnumeration?: undefined; RPBroadcastProcessMode?: undefined; }; EXAppExtensionAttributes?: undefined; CFBundleName?: undefined; CFBundleIdentifier?: undefined; CFBundleVersion?: undefined; CFBundleExecutable?: undefined; CFBundlePackageType?: undefined; CFBundleShortVersionString?: undefined; UIApplicationSupportsIndirectInputEvents?: undefined; NSAppClip?: undefined; NSAppTransportSecurity?: undefined; UILaunchStoryboardName?: undefined; UIUserInterfaceStyle?: undefined; UIViewControllerBasedStatusBarAppearance?: undefined; CSExtensionLabel?: undefined; } | { NSExtension: { NSExtensionAttributes: { IntentsRestrictedWhileLocked: never[]; IntentsSupported: string[]; NSExtensionActivationRule?: undefined; NSExtensionJavaScriptPreprocessingFile?: undefined; NSExtensionServiceAllowsFinderPreviewItem?: undefined; NSExtensionServiceAllowsTouchBarItem?: undefined; NSExtensionServiceFinderPreviewIconName?: undefined; NSExtensionServiceTouchBarBezelColorName?: undefined; NSExtensionServiceTouchBarIconName?: undefined; ASAccountAuthenticationModificationSupportsStrongPasswordChange?: undefined; ASAccountAuthenticationModificationSupportsUpgradeToSignInWithApple?: undefined; RequestsOpenAccess?: undefined; IsASCIICapable?: undefined; PrefersRightToLeft?: undefined; PrimaryLanguage?: undefined; QLSupportedContentTypes?: undefined; QLThumbnailMinimumDimension?: undefined; CSSupportedContentTypes?: undefined; UNNotificationExtensionCategory?: undefined; UNNotificationExtensionInitialContentSizeRatio?: undefined; PHSupportedMediaTypes?: undefined; }; NSExtensionPrincipalClass: string; NSExtensionPointIdentifier: string | undefined; NSExtensionFileProviderSupportsEnumeration?: undefined; RPBroadcastProcessMode?: undefined; }; EXAppExtensionAttributes?: undefined; CFBundleName?: undefined; CFBundleIdentifier?: undefined; CFBundleVersion?: undefined; CFBundleExecutable?: undefined; CFBundlePackageType?: undefined; CFBundleShortVersionString?: undefined; UIApplicationSupportsIndirectInputEvents?: undefined; NSAppClip?: undefined; NSAppTransportSecurity?: undefined; UILaunchStoryboardName?: undefined; UIUserInterfaceStyle?: undefined; UIViewControllerBasedStatusBarAppearance?: undefined; CSExtensionLabel?: undefined; } | { NSExtension: { NSExtensionAttributes: { UNNotificationExtensionCategory: string; UNNotificationExtensionInitialContentSizeRatio: number; NSExtensionActivationRule?: undefined; NSExtensionJavaScriptPreprocessingFile?: undefined; NSExtensionServiceAllowsFinderPreviewItem?: undefined; NSExtensionServiceAllowsTouchBarItem?: undefined; NSExtensionServiceFinderPreviewIconName?: undefined; NSExtensionServiceTouchBarBezelColorName?: undefined; NSExtensionServiceTouchBarIconName?: undefined; ASAccountAuthenticationModificationSupportsStrongPasswordChange?: undefined; ASAccountAuthenticationModificationSupportsUpgradeToSignInWithApple?: undefined; RequestsOpenAccess?: undefined; IsASCIICapable?: undefined; PrefersRightToLeft?: undefined; PrimaryLanguage?: undefined; QLSupportedContentTypes?: undefined; QLThumbnailMinimumDimension?: undefined; CSSupportedContentTypes?: undefined; IntentsSupported?: undefined; IntentsRestrictedWhileLocked?: undefined; PHSupportedMediaTypes?: undefined; }; NSExtensionPrincipalClass: string; NSExtensionPointIdentifier: string | undefined; NSExtensionFileProviderSupportsEnumeration?: undefined; RPBroadcastProcessMode?: undefined; }; EXAppExtensionAttributes?: undefined; CFBundleName?: undefined; CFBundleIdentifier?: undefined; CFBundleVersion?: undefined; CFBundleExecutable?: undefined; CFBundlePackageType?: undefined; CFBundleShortVersionString?: undefined; UIApplicationSupportsIndirectInputEvents?: undefined; NSAppClip?: undefined; NSAppTransportSecurity?: undefined; UILaunchStoryboardName?: undefined; UIUserInterfaceStyle?: undefined; UIViewControllerBasedStatusBarAppearance?: undefined; CSExtensionLabel?: undefined; } | { NSExtension: { NSExtensionPointIdentifier: string | undefined; NSExtensionPrincipalClass: string; NSExtensionFileProviderSupportsEnumeration: boolean; NSExtensionAttributes?: undefined; RPBroadcastProcessMode?: undefined; }; EXAppExtensionAttributes?: undefined; CFBundleName?: undefined; CFBundleIdentifier?: undefined; CFBundleVersion?: undefined; CFBundleExecutable?: undefined; CFBundlePackageType?: undefined; CFBundleShortVersionString?: undefined; UIApplicationSupportsIndirectInputEvents?: undefined; NSAppClip?: undefined; NSAppTransportSecurity?: undefined; UILaunchStoryboardName?: undefined; UIUserInterfaceStyle?: undefined; UIViewControllerBasedStatusBarAppearance?: undefined; CSExtensionLabel?: undefined; } | { NSExtension: { NSExtensionPointIdentifier: string | undefined; NSExtensionPrincipalClass: string; RPBroadcastProcessMode: string; NSExtensionAttributes?: undefined; NSExtensionFileProviderSupportsEnumeration?: undefined; }; EXAppExtensionAttributes?: undefined; CFBundleName?: undefined; CFBundleIdentifier?: undefined; CFBundleVersion?: undefined; CFBundleExecutable?: undefined; CFBundlePackageType?: undefined; CFBundleShortVersionString?: undefined; UIApplicationSupportsIndirectInputEvents?: undefined; NSAppClip?: undefined; NSAppTransportSecurity?: undefined; UILaunchStoryboardName?: undefined; UIUserInterfaceStyle?: undefined; UIViewControllerBasedStatusBarAppearance?: undefined; CSExtensionLabel?: undefined; } | { NSExtension: { NSExtensionPointIdentifier: string | undefined; NSExtensionPrincipalClass: string; NSExtensionAttributes: { PHSupportedMediaTypes: string[]; NSExtensionActivationRule?: undefined; NSExtensionJavaScriptPreprocessingFile?: undefined; NSExtensionServiceAllowsFinderPreviewItem?: undefined; NSExtensionServiceAllowsTouchBarItem?: undefined; NSExtensionServiceFinderPreviewIconName?: undefined; NSExtensionServiceTouchBarBezelColorName?: undefined; NSExtensionServiceTouchBarIconName?: undefined; ASAccountAuthenticationModificationSupportsStrongPasswordChange?: undefined; ASAccountAuthenticationModificationSupportsUpgradeToSignInWithApple?: undefined; RequestsOpenAccess?: undefined; IsASCIICapable?: undefined; PrefersRightToLeft?: undefined; PrimaryLanguage?: undefined; QLSupportedContentTypes?: undefined; QLThumbnailMinimumDimension?: undefined; CSSupportedContentTypes?: undefined; IntentsSupported?: undefined; IntentsRestrictedWhileLocked?: undefined; UNNotificationExtensionCategory?: undefined; UNNotificationExtensionInitialContentSizeRatio?: undefined; }; NSExtensionFileProviderSupportsEnumeration?: undefined; RPBroadcastProcessMode?: undefined; }; EXAppExtensionAttributes?: undefined; CFBundleName?: undefined; CFBundleIdentifier?: undefined; CFBundleVersion?: undefined; CFBundleExecutable?: undefined; CFBundlePackageType?: undefined; CFBundleShortVersionString?: undefined; UIApplicationSupportsIndirectInputEvents?: undefined; NSAppClip?: undefined; NSAppTransportSecurity?: undefined; UILaunchStoryboardName?: undefined; UIUserInterfaceStyle?: undefined; UIViewControllerBasedStatusBarAppearance?: undefined; CSExtensionLabel?: undefined; } | { NSExtension: { NSExtensionAttributes: { QLSupportedContentTypes: never[]; NSExtensionActivationRule?: undefined; NSExtensionJavaScriptPreprocessingFile?: undefined; NSExtensionServiceAllowsFinderPreviewItem?: undefined; NSExtensionServiceAllowsTouchBarItem?: undefined; NSExtensionServiceFinderPreviewIconName?: undefined; NSExtensionServiceTouchBarBezelColorName?: undefined; NSExtensionServiceTouchBarIconName?: undefined; ASAccountAuthenticationModificationSupportsStrongPasswordChange?: undefined; ASAccountAuthenticationModificationSupportsUpgradeToSignInWithApple?: undefined; RequestsOpenAccess?: undefined; IsASCIICapable?: undefined; PrefersRightToLeft?: undefined; PrimaryLanguage?: undefined; QLThumbnailMinimumDimension?: undefined; CSSupportedContentTypes?: undefined; IntentsSupported?: undefined; IntentsRestrictedWhileLocked?: undefined; UNNotificationExtensionCategory?: undefined; UNNotificationExtensionInitialContentSizeRatio?: undefined; PHSupportedMediaTypes?: undefined; }; NSExtensionPrincipalClass: string; NSExtensionPointIdentifier: string | undefined; NSExtensionFileProviderSupportsEnumeration?: undefined; RPBroadcastProcessMode?: undefined; }; EXAppExtensionAttributes?: undefined; CFBundleName?: undefined; CFBundleIdentifier?: undefined; CFBundleVersion?: undefined; CFBundleExecutable?: undefined; CFBundlePackageType?: undefined; CFBundleShortVersionString?: undefined; UIApplicationSupportsIndirectInputEvents?: undefined; NSAppClip?: undefined; NSAppTransportSecurity?: undefined; UILaunchStoryboardName?: undefined; UIUserInterfaceStyle?: undefined; UIViewControllerBasedStatusBarAppearance?: undefined; CSExtensionLabel?: undefined; } | { NSExtension: { NSExtensionPointIdentifier: string | undefined; NSExtensionAttributes?: undefined; NSExtensionPrincipalClass?: undefined; NSExtensionFileProviderSupportsEnumeration?: undefined; RPBroadcastProcessMode?: undefined; }; EXAppExtensionAttributes?: undefined; CFBundleName?: undefined; CFBundleIdentifier?: undefined; CFBundleVersion?: undefined; CFBundleExecutable?: undefined; CFBundlePackageType?: undefined; CFBundleShortVersionString?: undefined; UIApplicationSupportsIndirectInputEvents?: undefined; NSAppClip?: undefined; NSAppTransportSecurity?: undefined; UILaunchStoryboardName?: undefined; UIUserInterfaceStyle?: undefined; UIViewControllerBasedStatusBarAppearance?: undefined; CSExtensionLabel?: undefined; }; export declare function isNativeTargetOfType(target: PBXNativeTarget, type: ExtensionType): boolean; export declare function getMainAppTarget(project: XcodeProject): PBXNativeTarget; export declare function getAuxiliaryTargets(project: XcodeProject): PBXNativeTarget[];