Tôi đang sử dụng Xcode để xây dựng tệp xuất .ipa để gửi cho Apple. Tôi đã làm như vậy thành công trước khi nâng cấp từ Xcode 10 lên Xcode 11.
Một số lỗi chúng tôi gặp phải cho thấy rằng chúng tôi cần gỡ cài đặt hoàn toàn Xcode vì chúng tôi đã có phiên bản beta trước đó và phiên bản Xcode beta cũ có thể gây ra sự cố. Tôi quyết định chỉ xóa sạch toàn bộ máy Mac bằng cài đặt lại hệ thống để tránh mọi bản sao Xcode Beta hoặc cài đặt của nó không có trên máy. Vì vậy, bây giờ nó là một bản cài đặt hoàn toàn mới của Mac OS. Tôi đã cài đặt lại Xcode.
Tôi đã nhập chứng chỉ cũ của mình vào Keychain và xác minh rằng tôi chỉ có chứng chỉ hợp lệ được liệt kê.
Tôi chạy hai lệnh. Trước tiên tôi tạo một kho lưu trữ. Sau đó, tôi sử dụng kho lưu trữ để xuất 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
Lưu ý rằng tôi đã thay thế lược đồ bằng XXXX và ID gói trong các ví dụ của tôi đã được thay thế bằng 'my.bundle.id'.
Quá trình này hoạt động để làm .ipa phát triển. Tuy nhiên, khi tôi đi tạo Testflight hoặc Production .ipa, tôi gặp lỗi.
Lệnh đầu tiên chạy không có lỗi và tôi có tệp lưu trữ được tạo tại "build-dev / XXX.archive". Lệnh thứ hai tạo ra lỗi:
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'.}
Đây là tập tin release.plist của tôi.
<?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>
Tôi có thể xây dựng từ bên trong Xcode thành công. Nó chỉ là xuất khẩu dòng lệnh mà tôi đã ban hành.
Id gói tồn tại trên tài khoản developer.apple.com của tôi. Tôi có chứng chỉ Phát triển iOS và Phân tích iOS hợp lệ trong Tùy chọn Xcode.
Tôi không chắc chắn tại sao tôi nhận được những lỗi này.