Estou usando o Xcode para criar arquivos de exportação .ipa para envio à Apple. Fiz isso com êxito antes da atualização do Xcode 10 para o Xcode 11.
Alguns dos erros que estávamos enfrentando sugeriam que precisávamos desinstalar completamente o Xcode porque tínhamos uma versão beta anteriormente e a versão antiga do Xcode beta provavelmente estava causando os problemas. Decidi apenas limpar todo o Mac com uma redefinição do sistema para evitar que qualquer cópia do Xcode Beta ou de suas configurações estivesse na máquina. Portanto, agora é uma instalação completamente nova do Mac OS. Eu reinstalei o Xcode.
Importei meus certificados antigos para o Keychain e verifiquei que só tenho certificados válidos listados.
Eu corro dois comandos. Primeiro crio um arquivo. Então eu uso o arquivo para exportar o ipa:
xcodebuild -allowProvisioningUpdates -workspace my_app.xcworkspace -scheme XXXX -archivePath build-dev/XXXX.xcarchive archive
xcodebuild -exportArchive -archivePath build-dev/XXXX.xcarchive -exportOptionsPlist release.plist -exportPath build-dev
Observe que substituí o esquema por XXXX e os IDs dos pacotes nos meus exemplos foram substituídos por 'my.bundle.id'.
Esse processo trabalha para fazer um desenvolvimento .ipa. No entanto, quando vou criar um .fl de Testflight ou Production, recebo erros.
O primeiro comando é executado sem erros e eu tenho o arquivo morto criado em "build-dev / XXX.archive". O segundo comando gera erros:
2019-09-30 12:11:46.444 xcodebuild[10674:326155] [MT] IDEDistribution: -[IDEDistributionLogging _createLoggingBundleAtPath:]: Created bundle at path '/var/folders/10/8g5xrhr56wz6sgttzh0_s8fr0000gn/T/XXXX_2019-09-30_12-11-46.444.xcdistributionlogs'.
2019-09-30 12:11:56.534 xcodebuild[10674:326208] DVTAssertions: Warning in /Library/Caches/com.apple.xbs/Sources/IDEFrameworks/IDEFrameworks-14936/IDEFoundation/Provisioning/Logging/IDEProvisioningLedger.m:172
Details: Unable to close provisioning ledger entry because not all of its subentries are closed
Object: <IDEProvisioningLedgerEntry: 0x7ff7568b7a00>
Method: -closeWithError:
Thread: <NSThread: 0x7ff750b16af0>{number = 14, name = (null)}
Please file a bug at https://feedbackassistant.apple.com with this warning message and any useful information you can provide.
error: exportArchive: Create certificate
Error Domain=IDEProvisioningErrorDomain Code=19 "Create certificate" UserInfo={IDEDistributionIssueSeverity=3, IDEProvisioningError_UserInfoKey_IDEProvisioningUserAction=<IDEProvisioningCreateTeamOwnedCertificateUserAction: 0x7ff756acf0c0>, NSLocalizedRecoverySuggestion=Create a new Apple Distribution certificate for your team., NSLocalizedDescription=Create certificate}
error: exportArchive: No profiles for 'my.bundle.id' were found
Error Domain=IDEProfileLocatorErrorDomain Code=1 "No profiles for 'my.bundle.id' were found" UserInfo={IDEDistributionIssueSeverity=3, NSLocalizedDescription=No profiles for 'my.bundle.id' were found, NSLocalizedRecoverySuggestion=Xcode couldn't find any iOS App Store provisioning profiles matching 'my.bundle.id'.}
Este é o meu arquivo release.plist.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>method</key>
<string>app-store</string>
<key>teamID</key>
<string>MY-TEAM-ID</string>
<key>compileBitcode</key>
<false/>
</dict>
</plist>
Eu sou capaz de construir a partir do Xcode com sucesso. É apenas a exportação da linha de comando que estou emitindo.
O ID do pacote existe na minha conta developer.apple.com. Eu tenho um certificado válido de Desenvolvimento e Distrobução para iOS nas Preferências do Xcode.
Não sei por que estou recebendo esses erros.