2. Xcode project setup — vendoring the xcframeworks
There's no manifest merge or repository URL here — you're wiring two binary frameworks into the Xcode project by hand (or via a setup script, if your team has one).
2.1 Where the frameworks live
Place AKSKit.xcframework and AppsKit.xcframework directly inside the same folder as your .xcodeproj — i.e. as siblings of Podfile and your app's source folder, not nested inside it and not inside Pods/. This matters because Xcode resolves the framework reference using a bare relative path (no custom FRAMEWORK_SEARCH_PATHS needed) — if you move them, the project file's reference breaks.
YourApp/ <- CocoaPods project root (Podfile lives here)
├── Podfile
├── AKSKit.xcframework/ <- sibling of the .xcodeproj
├── AppsKit.xcframework/ <- sibling of the .xcodeproj
├── YourApp.xcodeproj/
├── YourApp.xcworkspace/ <- open THIS, not the .xcodeproj, once Pods are installed
└── YourApp/ <- your app target's source folder
├── AppDelegate.swift
└── ...2.2 Add them to the target
In Xcode, select your app target → General → Frameworks, Libraries, and Embedded Content → add both .xcframework files, and set Embed & Sign for each. Concretely, this needs to produce:
- a
PBXFileReferencefor each framework withsourceTree = "<group>"and a barepath(no folder prefix) - both listed under Link Binary With Libraries (the
PBXFrameworksBuildPhase) - both listed under an Embed Frameworks copy-files build phase (
PBXCopyFilesBuildPhase,dstSubfolderSpec = 10) with theCodeSignOnCopy+RemoveHeadersOnCopyattributes — this is exactly what checking "Embed & Sign" in Xcode's UI produces
Also confirm LD_RUNPATH_SEARCH_PATHS includes @executable_path/Frameworks (Xcode adds this automatically when you embed a framework via the UI; it's what lets the embedded, signed frameworks load at runtime).
If you're scripting this instead of using the Xcode UI (e.g. for a CI setup step), the three pieces above — file reference, link phase, embed phase — are exactly what you need to add to
project.pbxproj.
2.3 Open the workspace, not the project
Once pod install has run, open YourApp.xcworkspace. It's what wires your app target together with the CocoaPods-generated Pods.xcodeproj; opening the bare .xcodeproj directly will build without your Podfile dependencies linked correctly.