2. Configuração do projeto no Xcode — inclusão local dos xcframeworks
Aqui não há mesclagem de manifesto nem URL de repositório — você vai integrar dois frameworks binários ao projeto do Xcode manualmente (ou por meio de um script de configuração, se sua equipe tiver um).
2.1 Onde colocar os frameworks
Coloque AKSKit.xcframework e AppsKit.xcframework diretamente na mesma pasta do seu .xcodeproj — ou seja, no mesmo nível do Podfile e da pasta de código-fonte do app, não dentro dela nem dentro de Pods/. Isso é importante porque o Xcode resolve a referência ao framework usando um caminho relativo simples (sem precisar personalizar FRAMEWORK_SEARCH_PATHS) — se você mover os frameworks, a referência no arquivo do projeto deixará de funcionar.
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 Adicione os frameworks ao target
No Xcode, selecione o target do app → General → Frameworks, Libraries, and Embedded Content → adicione os dois arquivos .xcframework e defina Embed & Sign para cada um. Na prática, isso precisa gerar:
- um
PBXFileReferencepara cada framework comsourceTree = "<group>"e umpathsimples (sem prefixo de pasta) - ambos listados em Link Binary With Libraries (a fase
PBXFrameworksBuildPhase) - ambos listados em uma fase de build de cópia de arquivos Embed Frameworks (
PBXCopyFilesBuildPhase,dstSubfolderSpec = 10) com os atributosCodeSignOnCopy+RemoveHeadersOnCopy— é exatamente isso que selecionar "Embed & Sign" na interface do Xcode gera
Confirme também que LD_RUNPATH_SEARCH_PATHS inclui @executable_path/Frameworks (o Xcode adiciona esse valor automaticamente quando você incorpora um framework pela interface; é isso que permite carregar os frameworks incorporados e assinados em tempo de execução).
Se você estiver usando um script em vez da interface do Xcode (por exemplo, em uma etapa de configuração de CI), os três elementos acima — referência de arquivo, fase de vinculação e fase de incorporação — são exatamente o que você precisa adicionar ao
project.pbxproj.
2.3 Abra o workspace, não o projeto
Depois de executar pod install, abra YourApp.xcworkspace. É ele que integra o target do app ao Pods.xcodeproj gerado pelo CocoaPods; abrir diretamente apenas o .xcodeproj fará com que o build seja executado sem vincular corretamente as dependências do seu Podfile.