Xcode 8 แสดงข้อผิดพลาดที่โปรไฟล์การจัดสรรไม่รวมใบรับรองการลงนาม
ปัญหานี้เกิดขึ้นกับ Xcode-8 เท่านั้นที่มี Xcode 7 โปรไฟล์การจัดสรรเดียวกันที่แสดงใบรับรองที่ระบุที่เกี่ยวข้อง
Xcode 8 แสดงข้อผิดพลาดที่โปรไฟล์การจัดสรรไม่รวมใบรับรองการลงนาม
ปัญหานี้เกิดขึ้นกับ Xcode-8 เท่านั้นที่มี Xcode 7 โปรไฟล์การจัดสรรเดียวกันที่แสดงใบรับรองที่ระบุที่เกี่ยวข้อง
คำตอบ:
มีหลายวิธีในการแก้ไขปัญหานี้เช่นการเปิดใช้งานการลงชื่ออัตโนมัติเป็นต้น แต่ถ้าคุณต้องการเข้าใจเหตุผลของข้อผิดพลาดนี้คุณต้องดูข้อความแสดงข้อผิดพลาด
มันบอกว่าโปรไฟล์การจัดเตรียมที่คุณเลือกใน "แท็บทั่วไป" ไม่มีใบรับรองการลงนามที่คุณเลือกใน "การตั้งค่า Build" -> "รหัสการลงนามรหัส"
โดยปกติจะเกิดขึ้นหากเลือกใบรับรองการแจกจ่ายสำหรับรหัสประจำตัวการตรวจแก้จุดบกพร่องภายใต้ "สร้างการตั้งค่า" -> "รหัสการลงนามรหัส"
หากสิ่งนี้เกิดขึ้นภายใต้ "การเซ็นชื่อ (การดีบัก)" อาจเป็นได้ว่า "การลงนามเอกลักษณ์" -> "การพัฒนา iOS" ไม่รวมอยู่ในโปรไฟล์การจัดสรร
ตรวจสอบพวงกุญแจของคุณเพื่อหาตัวตนที่ไม่มีกุญแจส่วนตัว ฉันติดตั้งใบรับรองการกระจายหลายใบสำหรับทีมเดียวกันซึ่งหนึ่งในนั้นไม่มีคีย์ส่วนตัว Xcode ตรวจสอบข้อมูลเฉพาะตัวที่ตรงกันครั้งแรกในพวงกุญแจเท่านั้นและใช้สิ่งนี้โดยอัตโนมัติซึ่งตรงข้ามกับรหัสที่ไม่ได้มีคีย์ส่วนตัว
การลบข้อมูลประจำตัวที่ตรงกันซึ่งไม่มีคีย์ส่วนตัวทำให้ Xcode ตรวจจับข้อมูลประจำตัวที่ถูกต้องอีกครั้ง
เพื่อแก้ไขปัญหานี้
ฉันเพิ่งเปิดใช้งาน "การจัดการการลงชื่ออัตโนมัติ" ที่แท็บทั่วไปของการตั้งค่าโครงการก่อนที่จะเปิดใช้งานฉันกลัวว่ามันอาจมีผลข้างเคียงบางอย่าง แต่เมื่อฉันเปิดใช้งานที่เหมาะกับฉัน
สำหรับผู้ที่ควรใช้ต่อเนื่องไม่ได้ด้วยเหตุผลบางอย่าง
เปิดการเข้าถึงเชนคีย์เพื่อดูว่ามีการรับรองสองแบบเดียวกันหรือไม่หากมีสองใบขึ้นไปเพียงแค่ลบหนึ่งรายการแล้วมันจะทำงาน :)
ฉันประสบปัญหานี้หลังจากอัปเดต Xcode เป็นเวอร์ชัน 9.3 ปัญหาคือในการลงนามรหัส (ภายใต้การดีบัก) ถูกตั้งค่าเป็นใบรับรองการแจกจ่ายแทนใบรับรองการพัฒนาดังนั้นสิ่งนี้ทำให้ฉันไม่สามารถติดตั้งแอปบนอุปกรณ์ของฉัน
นี่คือสิ่งที่ฉันทำเพื่อแก้ไขปัญหานี้
โครงการ -> เป้าหมาย -> เลือกแอปของคุณ -> สร้างการตั้งค่า -> รหัสการเซ็นชื่อรหัส -> แก้ไขข้อบกพร่อง -> แตะสองครั้ง "การกระจาย iPhone" และเปลี่ยนเป็น "นักพัฒนา iPhone"
ฉันไม่ได้ทำเครื่องหมายและเลือกตัวเลือก "จัดการการลงชื่อโดยอัตโนมัติ" นั่นแก้ไขให้ฉัน
สำหรับสิ่งที่มีค่าการเซ็นชื่ออัตโนมัติล้มเหลวทุกครั้งจนกว่าฉันจะลบโปรไฟล์ในเครื่องด้วยตนเองใน: ~ / Library / MobileDevice / โปรไฟล์การจัดสรร
หลังจากนั้นการเซ็นชื่ออัตโนมัตินั้นทำงานได้อย่างสมบูรณ์และได้รับโปรไฟล์ที่ถูกต้องจากเซิร์ฟเวอร์ของ Apple
สิ่งนี้มีผลกระทบต่องานสร้างบางอย่างโดยเฉพาะอย่างยิ่งสิ่งที่ฉันสร้างโปรไฟล์สำหรับแอพดู
CMD + Shift + .
เพื่อแสดงไฟล์ที่ซ่อนอยู่ทั้งหมด
สำหรับผู้ที่ยังคงต่อสู้กับปัญหานี้ใน Xcode8 สำหรับฉันเป็นปัญหาใบรับรองซ้ำนี่คือวิธีที่ฉันแก้ไข:
ฉันอ่านคำตอบของนิคแล้วฉันก็เริ่มสอบสวน ฉันตรวจสอบคีย์และใบรับรองทั้งหมดในกรณีของฉันโดยเฉพาะ (ภายใน ~ / Library / Keychains / System.keychain)
เมื่อฉันเปิดไฟล์ฉันพบว่าฉันมีใบรับรองการแจกจ่าย iPhone สองใบ (นั่นคือใบรับรองที่ Xcode ร้องขอให้ฉัน) ส่วนหนึ่งที่มีรหัสส่วนตัวของการแจกจ่าย iOS ที่ฉันใช้มาตั้งแต่ต้นและใบรับรองการกระจาย iPhone อีกอัน คีย์ส่วนตัวมีชื่อ (การกระจาย iOS: NAME) ที่ไม่คุ้นเคยสำหรับฉัน ฉันลบใบรับรองล่าสุดนี้แล้วเริ่ม Xcode อีกครั้งและปัญหาได้หายไป xCode ไม่สามารถแก้ไขข้อขัดแย้งดังกล่าวได้และนั่นเป็นสาเหตุที่ทำให้เกิดข้อผิดพลาดในการลงชื่อใบรับรองตลอดเวลา
ตรวจสอบพวงกุญแจของคุณบางทีคุณอาจมีใบรับรองซ้ำกัน
หากคุณใช้การลงชื่อด้วยตนเอง (ซึ่งฉันขอแนะนำอย่างแน่นอน) ข้อผิดพลาดนี้อาจเกิดขึ้นเนื่องจาก Xcode คิดว่าควรลงชื่อในบิลด์บิลด์ด้วยใบรับรองนักพัฒนาซึ่งเห็นได้ชัดว่าไม่ได้รวมอยู่ในโปรไฟล์การจัดสรรรีลีส
มีการตั้งค่าการสร้างที่กำหนดใบรับรองที่ควรใช้สำหรับการกำหนดค่าการสร้างที่ ที่จะเปลี่ยนมันไปเพื่อสร้างการตั้งค่าและค้นหารหัสการลงนามเอกลักษณ์ เมื่อขยายแล้วควรมีแถวแยกต่างหากสำหรับการกำหนดค่าแต่ละบิลด์ (โดยปกติจะเป็นการดีบั๊กและรีลีส) ในคอลัมน์ที่สองซึ่งเป็นข้อมูลประจำตัวที่เลือกไว้ (โดยทั่วไปคือ iOS Developer หรือ iOS Distribution) ตรวจสอบให้แน่ใจว่าตั้งค่าเป็นข้อมูลเฉพาะตัวที่ถูกต้องสำหรับการกำหนดค่าแต่ละบิลด์
ในบางกรณีการกำหนดค่าการสร้างสามารถขยายได้ ตรวจสอบให้แน่ใจว่ามีการตั้งค่ารายการย่อยเป็นข้อมูลประจำตัวที่ถูกต้อง
นอกจากนี้คุณยังอาจจะช่วยแก้ปัญหารหัสการลงนามกับดีเครื่องมือ Fastlane ผู้เขียนใช้ความพยายามอย่างมากในการสร้างระบบอัตโนมัติอย่างมีประสิทธิภาพลงชื่อแอพ iOS (และอื่น ๆ )
ดังนั้นในชุดที่กล่าวถึงมีเครื่องมือsigh
ที่ช่วยแก้ไขปัญหาการลงนามใด ๆ อย่างน่าอัศจรรย์ดังนั้นชื่อ :) สิ่งที่ดีที่นี่คือเครื่องมือนี้ encapsulates ความรู้เกี่ยวกับปัญหาการลงนามที่พบบ่อยและสามารถตรวจจับและแก้ไขส่วนใหญ่
ติดตั้ง Fastlane เป็น Ruby gem:
gem install fastlane
จากนั้นเรียกใช้เพียง:
fastlane sigh --development
ตอบคำถามสองข้อและ voila:
[11:56:55]: No existing profiles found, that match the certificates you have installed locally! Creating a new provisioning profile for you
[11:57:01]: Creating new provisioning profile for 'com.myapp' with name 'com.myapp Development'
[11:57:06]: Downloading provisioning profile...
[11:57:09]: Successfully downloaded provisioning profile...
[11:57:09]: Installing provisioning profile...
สุดท้ายไปที่การตั้งค่าการสร้าง -> การลงชื่อและสลับไปยังโปรไฟล์การจัดสรรที่สร้างขึ้นใหม่ซึ่งมีชื่อที่คุณเพิ่งเห็นในผลลัพธ์คำสั่ง
ตัวอย่างนี้มีไว้สำหรับปัญหาการเซ็นรหัสการพัฒนา (ทำงานบนอุปกรณ์) ตรวจสอบเอกสารถอนหายใจสำหรับตัวเลือกอื่น ๆ ทั้งหมด
มีข้อผิดพลาดเดียวกัน ดูเหมือนว่าจะมีการต่ออายุโปรไฟล์มีการเพิ่มใบรับรองใหม่ฉันยังตรวจสอบเมื่อดาวน์โหลด เพิกถอนใบรับรองของนักพัฒนาซอฟต์แวร์เดิมด้วยโดยไม่รวมอยู่ในโปรไฟล์การจัดหา แต่ Xcode ยังคงถามฉันเกี่ยวกับใบรับรองก่อนหน้านี้ที่มีข้อผิดพลาด:
No certificate for team 'MY_TEAM' matching 'iPhone Developer: FORMER_DEVELOPER' found
ดังนั้นสิ่งที่ฉันทำเพื่อแก้ไข:
Build Settings
-> Signing
->Code Signing Identity
หวังว่ามันจะช่วยใครซักคน
ในกรณีของฉันในพวงกุญแจฉันมีใบรับรองสองใบที่มีชื่อเดียวกันฉันลบใบรับรองหนึ่งใบซึ่งซ้ำกันจากนั้นก็แก้ปัญหาได้
"เปิดใช้งานการลงชื่ออัตโนมัติ" จากนั้นเลือกทีมจากเมนูแบบเลื่อนลงช่วยฉันด้วยปัญหาที่แน่นอนนี้
Xcode 11
นี่เป็นข้อผิดพลาดที่ฉันได้รับ
โปรไฟล์การจัดสรร "XXX" ไม่รวมใบรับรองการลงนาม "Apple Development: XXX (XXX)" ``
ตอนนี้ Xcode 11 สร้างใบรับรอง "Apple Development: XXX" โดยอัตโนมัติซึ่งใช้ได้สำหรับทุกแพลตฟอร์ม
คุณแค่ต้อง
ฉันได้รับกุญแจส่วนตัวที่เหลืออยู่จากใบรับรองที่ฉันเพิกถอนใบรับรองหายไป แต่ไม่ใช่กุญแจส่วนตัว การลบพวกเขาแก้ปัญหาได้
หากต้องการค้นหา:
คีย์ที่ไฮไลต์ในรูปภาพคือคีย์ส่วนตัวตัวอย่างที่ไม่มีใบรับรอง
ผมมีปัญหาเดียวกัน. ฉันเปลี่ยนเครื่องแม็ค และเมื่อฉันดาวน์โหลดใบรับรอง Xcode ฉันได้รับข้อความแสดงข้อผิดพลาด: "ข้อผิดพลาดคือโปรไฟล์ความปลอดภัยไม่รวมลายเซ็นใบรับรอง"
1) ไปที่https://developer.apple.com/account/ios/profile/limited/edit เลือกโครงการ => แก้ไข => ใบรับรอง => เลือกทั้งหมด => สร้าง => ดาวน์โหลด
2) ใน Xcode: ไฟล์โครงการ => การลงชื่อ (Debug) => โปรไฟล์การจัดเตรียม => นำเข้าโปรไฟล์ => เลือกไฟล์ที่มี 1
สำหรับฉันการแก้ปัญหาด้านบนไม่ได้ผลเลย ฉันย้ายข้อมูลจาก mac รุ่นเก่าสองเครื่องไปเป็น mac ใหม่พยายามรับโปรไฟล์ release / debug ที่ทำงานบน Xcode โดยไม่มี Xcode auto จัดการพวกเขา
วิธีแก้ปัญหาสำหรับฉันคือเมื่อฉันไปและสร้างใบรับรองใหม่สองใบฉันยังต้องเข้าไปในโปรไฟล์การจัดสรรของฉันและเพิ่ม (ภายใต้การแจกจ่ายและ dev) ใบรับรองใหม่ในโปรไฟล์การจัดสรรเพื่อให้จดจำได้ หลังจากดำเนินการ & ดาวน์โหลดแล้ว xcode จะลบข้อผิดพลาดทั้งหมดและไปได้ดี
หวังว่านี่จะช่วยใครซักคน!
ฉันได้รับหนึ่งในอีเมลเหล่านี้จาก Apple:
เรียน John Doe
ใบรับรองต่อไปนี้ถูกเพิกถอนโดยสมาชิกของทีมพัฒนาของคุณหรือหมดอายุแล้ว:
ใบรับรอง: การพัฒนา iOS
ชื่อทีม: Honey Team, LLC
สิ่งนี้จะไม่มีผลกับแอพที่คุณส่งไปยัง App Store หรือความสามารถในการอัปเดตแอพของคุณ หากคุณใช้โปรไฟล์การจัดเตรียมที่มีใบรับรองนี้จะต้องสร้างขึ้นใหม่ก่อนจึงจะสามารถนำมาใช้ซ้ำได้ สำหรับรายละเอียดโปรดดูที่ส่วน "ภาพรวมการลงชื่อแอป" ของวิธีใช้ Xcode
ขอแสดงความนับถืออย่างสูง,
การสนับสนุนโปรแกรมนักพัฒนา Apple
ฉันสร้างใบรับรองใหม่ซึ่งเพิกถอนใบรับรองก่อนหน้า (ในเครื่องและบน Mac ของผู้พัฒนารายอื่น) เพื่อให้สามารถใช้งานได้ฉันต้องดาวน์โหลดโปรไฟล์การจัดหาใหม่
ทางออกคือ:
โดยส่วนตัวฉันไม่มีสิทธิ์เข้าถึงดังกล่าว การเข้าถึงนี้ใช้ได้เฉพาะกับผู้ดูแลระบบของทีมของเราดังนั้นฉันไม่มีภาพหน้าจอหรือไม่แน่ใจว่าขั้นตอนเหล่านี้ถูกต้อง 100%
ฉันยังไม่เห็นสิ่งนี้กล่าวถึง แต่ถ้าคุณยังคงมีปัญหาหลังจากสร้างโปรไฟล์การจัดเตรียมใหม่ให้ลบสิ่งที่มีอยู่เดิมที่คุณมีในโฟลเดอร์ Provision Profiles ตรวจสอบดู dupes ใน Keychain ของคุณ ฯลฯ (คำตอบอื่น ๆ ทั้งหมด ITT) เปิด เป้าหมาย> สร้างการตั้งค่า> การเซ็นชื่อโค้ดและตรวจสอบให้แน่ใจว่าทุกอย่างดูสอดคล้องกัน ตัวอย่างเช่นฉันได้เปลี่ยนรหัสการระบุรหัสสำหรับการดีบักเป็นเอกลักษณ์การกระจายซึ่งเห็นได้ชัดว่าใช้งานไม่ได้เนื่องจากโปรไฟล์การจัดสรรเพื่อการพัฒนาไม่มีใบรับรองการแจกจ่ายและทำให้เกิดข้อผิดพลาดตั้งแต่แรก
หากคุณพยายามอัปโหลดแอปของคุณไปยัง iTunes Connect (โปรไฟล์การจัดสรรของคุณถูกกำหนดเป็นการกระจาย) ให้ไปที่การตั้งค่าโครงการ -> การตั้งค่าการสร้าง -> การเซ็นรหัส ตรวจสอบให้แน่ใจว่าได้ตั้งค่าตัวเลือกการดีบักและรีลีสทั้งหมดเป็นโปรไฟล์การจัดเตรียมการกระจายของคุณ
ปัญหาที่ดูเหมือนว่าจะเริ่มเกิดขึ้นในXcode 11
นี่คือขั้นตอนการแก้ไขสำหรับฉัน (สำหรับผู้ที่ประสบปัญหาเดียวกันใน XCode 9.2):
เพียงลบโปรไฟล์ในเครื่องด้วยตนเองใน ~ / Library / MobileDevice / โปรไฟล์การจัดสรร
ลบและสร้างใบรับรองและโปรไฟล์การจัดสรรทั้งหมดจากบัญชีนักพัฒนาซอฟต์แวร์
นำบัญชีนักพัฒนาซอฟต์แวร์ออกจาก Xcode และเพิ่มใหม่อีกครั้ง
แก้ไขปัญหาของฉัน! :-)
การคลิก แต่จากนั้นการยกเลิก "เปิดใช้งานการลงชื่ออัตโนมัติ" ได้ผลสำหรับฉันแม้ว่าการเปลี่ยนแปลงที่เกิดขึ้นจริงจะเกิดขึ้น:
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
หรือใน Xcode เรียกว่า Always Embed Swift Standard Libraries
ฉันมีปัญหาเดียวกันและเหตุผลก็เพนนี เลือกโปรไฟล์และใบรับรองไม่ถูกต้องในการตั้งค่าบิลด์ ฉันเพิ่งทำสิ่งนี้มาไม่กี่วัน ดังนั้นคุณไม่จำเป็นต้องเปิดใช้งาน "อัตโนมัติ" ภายใน xcode ตรวจสอบโปรไฟล์ภายในการตั้งค่าการสร้างของคุณก่อนที่จะทำ
ลองดาวน์โหลดใบรับรอง / โปรไฟล์โดยตรงจากศูนย์สมาชิกแทนที่จะทำจาก Xcode
มันทำงานสำหรับฉันเมื่อฉันดาวน์โหลดพวกเขาด้วยตนเองจากศูนย์สมาชิก
ฉันดิ้นรนกับมันหลายวัน
ขั้นตอนที่ 1: ลบทุกใบรับรองโปรไฟล์การจัดสรร appID คีย์ ฯลฯ จากบัญชีนักพัฒนาซอฟต์แวร์
ขั้นตอนที่ 2: สร้างใบรับรองการแจ้งเตือนแบบพุชโปรไฟล์การจัดสรรรหัสแอพ ฯลฯ
ขั้นตอนที่ 3: ลบใบรับรองทั้งหมดจากพวงกุญแจ
ขั้นตอนที่ 4: ล้างโปรไฟล์การจัดเตรียมทั้งหมดจาก ~ / Library / MobileDevice / โปรไฟล์การจัดเตรียม
ขั้นตอนที่ 5: เพิ่มเฉพาะไฟล์การจัดเตรียมที่จำเป็นและทดสอบ มันใช้งานได้ดี
หมายความว่าคุณต้องทำอย่างใดอย่างหนึ่งดังต่อไปนี้
วิธีแก้ปัญหาที่ # 2 เมื่อคุณไม่สามารถรับไฟล์ใบรับรอง & .p12 จากผู้สร้างได้เพียงตรวจสอบตัวเลือก 'จัดการการลงชื่ออัตโนมัติ'
สิ่งนี้เกิดขึ้นเนื่องจากโปรไฟล์การจัดเตรียมไม่สามารถค้นหาไฟล์สำหรับใบรับรองที่เชื่อมโยงกับ
เพื่อแก้ไข:
ข้อผิดพลาดควรหายไปในขณะนี้
ปัญหานี้เกิดจากกุญแจส่วนตัวในใบรับรองในโปรไฟล์ของคุณไม่ตรงกับในพวงกุญแจของคุณ ฉันแก้ไขปัญหานี้โดย
คำตอบเดียวกันกับรหัสปัญหาการลงนามใน Xcode 8