/** * Xcode project patching via xcode@3.x. * * xcode@3.x has three known bugs that this module works around. See inline * comments tagged "xcode@3.x bug" for details. Do NOT remove these * workarounds without verifying `pod install` succeeds on a real RN app — * the bugs are silent at the library level but fail at the CocoaPods * parsing or CocoaPods host-detection stage. * * Maintenance note: if xcode@3.x is replaced or upgraded, re-run the F3 * Round 3 Check 3 smoke-app integration test to confirm which workarounds * remain necessary. */ import xcode from 'xcode'; export type XcodeProject = ReturnType; export interface PatchXcodeOptions { pbxprojPath: string; targetName: string; bundleId: string; iosDir: string; dryRun: boolean; } export interface NotifyKitNseXcodePatchOptions { targetName: string; bundleIdentifier: string; parentTargetName?: string; deploymentTarget?: string; } export interface NotifyKitNseXcodePatchResult { didChange: boolean; targetUuid?: string; productUuid?: string; hostTargetUuid?: string; warnings: string[]; } /** * Adds an NSE target to the .pbxproj file via the xcode library. * Idempotent: if a target with the given name already exists, returns false. */ export declare function patchXcodeProject(opts: PatchXcodeOptions): boolean; export declare function patchXcodeProjectForNotifyKitNse(proj: XcodeProject, options: NotifyKitNseXcodePatchOptions): NotifyKitNseXcodePatchResult;