Xcode 11 ข้อผิดพลาดในการส่งออก IPA ไม่พบโปรไฟล์สำหรับ 'my.bundle.id'


12

ฉันใช้ Xcode เพื่อสร้างไฟล์. ipa ที่ส่งออกเพื่อส่งไปยัง Apple ฉันทำเช่นนี้สำเร็จก่อนที่จะอัพเกรดจาก Xcode 10 เป็น Xcode 11

ข้อผิดพลาดบางอย่างที่เรากำลังประสบอยู่ชี้ให้เห็นว่าเราจำเป็นต้องถอนการติดตั้ง Xcode อย่างสมบูรณ์เนื่องจากเรามีรุ่นเบต้าก่อนหน้านี้และรุ่นเก่าของ Xcode รุ่นเบต้าอาจเป็นสาเหตุของปัญหา ฉันตัดสินใจที่จะทำความสะอาดทั้ง Mac ด้วยการรีเซ็ตระบบเพื่อหลีกเลี่ยงการคัดลอก Xcode Beta หรือการตั้งค่าจากเครื่อง ดังนั้นตอนนี้เป็นการติดตั้งใหม่ของ Mac OS อย่างสมบูรณ์ ฉันติดตั้ง Xcode แล้ว

ฉันได้นำเข้าใบรับรองเก่าของฉันลงใน Keychain และยืนยันว่าฉันมีรายการใบรับรองที่ถูกต้องเท่านั้น

ฉันรันคำสั่งสองคำ ฉันสร้างไฟล์เก็บถาวรก่อน จากนั้นฉันใช้ไฟล์เก็บถาวรเพื่อส่งออก 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 และรหัสกลุ่มในตัวอย่างของฉันถูกแทนที่ด้วย 'my.bundle.id'

กระบวนการนี้ทำงานเพื่อพัฒนา. ipa อย่างไรก็ตามเมื่อฉันไปสร้าง Testflight หรือ. 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 ได้สำเร็จ เป็นเพียงการส่งออกบรรทัดคำสั่งที่ฉันออกให้เท่านั้น

รหัสชุดมีอยู่ในบัญชี developer.apple.com ของฉัน ฉันมีใบรับรองการพัฒนา iOS และ iOS Distrobution ที่ถูกต้องในการตั้งค่า Xcode

ฉันไม่แน่ใจว่าทำไมฉันจึงได้รับข้อผิดพลาดเหล่านี้

คำตอบ:


15

เฮ้ฉันมีปัญหานี้ด้วย สิ่งที่ฉันต้องทำเพื่อแก้ไขสิ่งนี้คือการสร้างไฟล์เก็บถาวรและส่งออกไฟล์ IPA สำหรับ TestFlight จาก xCode โดยใช้ GUI ในระหว่างกระบวนการนั้น xCode ก็สามารถสร้างใบรับรองที่ขาดหายไปได้ ตอนนี้ฉันสามารถรันคำสั่ง xCode บรรทัดคำสั่งได้สำเร็จ

ขั้นตอนในการใช้ GUI เพื่อสร้างใบรับรองที่ต้องการ:

  • เปิด Xcode
  • เลือกผลิตภัณฑ์
  • เลือกเก็บถาวร (ถ้าไฟล์เก็บถาวรเป็นสีเทาให้สร้างบิลด์สำหรับอุปกรณ์ iOS ทั่วไปก่อน)
  • เลือกแอพจำหน่าย
  • เลือกการเชื่อมต่อ App Store จากรายการปุ่มตัวเลือกแล้วคลิกถัดไป
  • เลือกส่งออกจากรายการปุ่มตัวเลือกแล้วคลิกถัดไป
  • ตรวจสอบการสร้างใบรับรองการแจกจ่าย Apple
  • ส่งออกใบรับรองเป็นการสำรองและแบ่งปันกับนักพัฒนาซอฟต์แวร์เพื่อน

ด้านล่างนี้เป็นภาพหน้าจอของหน้าต่าง "สร้างใบรับรองการกระจาย Apple" ที่ต้องคลิกในกระบวนการ GUI

ป้อนคำอธิบายรูปภาพที่นี่


1
ขอบคุณที่แก้ไขปัญหา มันต้องการให้ฉันทำเช่นนี้สำหรับแต่ละ บริษัท ที่เราสร้าง ฉันเพิ่งตรวจสอบ "สร้างใบรับรอง" ใน GUI อย่างที่คุณพูดถึงและเครื่องมือบรรทัดคำสั่งทำงานได้ทันที ดูเหมือนว่าบั๊กในแอปเปิ้ลเพราะเมื่อฉันเพิ่มแฟล็ก -allowProvisioningUpdates มันจะไม่อัปเดตโปรไฟล์, certs และอื่น ๆ โดยอัตโนมัติ
Daryl

ฉันพบปัญหานี้สำหรับการอัปเดตแอป Native ไปยัง TestFilght แต่ฉันได้ติดตั้ง. p12 แล้วทำไมฉันถึงเห็นหน้าจอนี้ ใครช่วยได้บ้าง
Akshay Jadhav
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.