Xcode를 사용하여 Apple에 제출할 .ipa 내보내기 파일을 빌드하고 있습니다. Xcode 10에서 Xcode 11로 업그레이드하기 전에 성공적으로 수행했습니다.
우리가 경험 한 일부 오류는 이전에 베타 버전이 있었고 이전 버전의 Xcode 베타가 문제를 일으킬 수 있기 때문에 Xcode를 완전히 제거해야한다고 제안했습니다. Xcode Beta 또는 해당 설정이 컴퓨터에 저장되지 않도록 시스템을 재설정하여 전체 Mac을 깨끗하게 정리하기로 결정했습니다. 이제 완전히 새로운 Mac OS 설치입니다. Xcode를 다시 설치했습니다.
이전 인증서를 키 체인으로 가져 왔는데 유효한 인증서 만 나열되어 있는지 확인했습니다.
두 가지 명령을 실행합니다. 먼저 아카이브를 만듭니다. 그런 다음 아카이브를 사용하여 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
스키마를 XXXX로 바꾸었고 예제의 번들 ID가 'my.bundle.id'로 바뀌 었습니다.
이 프로세스는 .ipa 개발을 위해 작동합니다. 그러나 Testflight 또는 Production .ipa를 만들 때 오류가 발생합니다.
첫 번째 명령은 오류없이 실행되며 "build-dev / XXX.archive"에 아카이브 파일이 생성되었습니다. 두 번째 명령은 오류를 생성합니다.
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'.}
이것은 내 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>
Xcode 내에서 성공적으로 빌드 할 수 있습니다. 내가 발행 한 것은 명령 줄 내보내기입니다.
번들 ID가 developer.apple.com 계정에 있습니다. Xcode 환경 설정에 유효한 iOS 개발 및 iOS Distrobution 인증서가 있습니다.
왜 이러한 오류가 발생하는지 확실하지 않습니다.