2. Configuração do projeto Xcode — inclusão local dos xcframeworks
Aqui não há mesclagem de manifestos nem URL de repositório — você vai integrar dois frameworks binários ao projeto 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 em 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ê movê-los, a referência no arquivo de 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:
- uma
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 ao 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
Após 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 Podfile.