ไม่ได้ติดตั้งใบรับรองการแจกจ่าย / คีย์ส่วนตัว


112

ใช้ Xcode 9.1 หลังจากสร้างแอป iOS ฉันต้องการเก็บถาวรและอัปโหลดไปยัง appStore เพื่อทดสอบเบต้า แต่ฉันได้รับปัญหาต่อไปนี้หลังจากคลิกปุ่มUpload to the App Store...และเลือกAutomatically manage signing:

"ชื่อของฉัน" มีใบรับรองการแจกจ่าย iOS หนึ่งใบ แต่ไม่ได้ติดตั้งคีย์ส่วนตัว ติดต่อผู้สร้างใบรับรองนี้เพื่อรับสำเนาของคีย์ส่วนตัว

ฉันไม่ทราบว่าเหตุใดจึง "ไม่ได้ติดตั้งคีย์ส่วนตัว" นี้ แต่ใบรับรองการแจกจ่ายอาจถูกสร้างขึ้นในคอมพิวเตอร์เครื่องอื่นหรือบางอย่าง ไม่ว่ากรณีใด ๆ:

วิธีที่ง่ายที่สุดในการดึงคีย์ส่วนตัวที่หายไปและติดตั้งคืออะไร เพื่อให้สิ่งต่างๆทำงานได้

คำตอบ:


89

คุณมีใบรับรองการแจกจ่ายได้เพียงใบเดียว มันรวมคีย์สาธารณะที่ Apple รู้จักกับคีย์ส่วนตัวซึ่งอยู่ในพวงกุญแจของคอมพิวเตอร์บางเครื่อง หากใบรับรองการแจกจ่ายนี้ถูกสร้างขึ้นบนคอมพิวเตอร์เครื่องอื่นคีย์ส่วนตัวจะอยู่ที่พวงกุญแจของคอมพิวเตอร์เครื่องนั้น และใบรับรองการแจกจ่ายนี้ใช้ไม่ได้หากไม่มี

ดังนั้นจะใช้ใบรับรองการกระจายนี้บนคอมพิวเตอร์เครื่องนี้คุณต้องพบว่าคอมพิวเตอร์เปิด Keychain Access ค้นหาและส่งออกคีย์ส่วนตัวอีเมลหรือมิฉะนั้นจะได้ไปนี้คอมพิวเตอร์และนำเข้าในพวงกุญแจของคอมพิวเตอร์เครื่องนี้

หากคุณเข้าไปที่บานหน้าต่างการตั้งค่าบัญชีใน Xcode และดับเบิลคลิกที่ทีมของคุณคุณจะเห็นกล่องโต้ตอบที่ให้ความช่วยเหลือแก่คุณ หากคุณเห็นใบรับรองการแจกจ่ายของคุณและมีข้อความว่าไม่อยู่ในพวงกุญแจคุณสามารถกด Control แล้วคลิกใบรับรองนั้นเพื่อรับรายการเมนูที่ให้คุณส่งอีเมลถึงใครก็ตามที่สร้างใบรับรองและขอให้พวกเขาส่งมาให้คุณ บุคคลนั้นสามารถใช้การนำเข้าเดียวกันนี้เพื่อเลือกใบรับรองการส่งออกและส่งใบรับรองให้คุณทางอีเมลได้

ไม่ว่าจะด้วยวิธีใดคีย์ส่วนตัวหรือใบรับรองที่ส่งออกจะถูกใส่รหัสผ่าน คุณจะต้องทราบรหัสผ่านจึงจะใช้งานได้


1
การทดลองครั้งแรกของฉันตามคำแนะนำของคุณไม่ได้ผล ส่วนใหญ่เป็นเพราะฉันทำไม่ถูกต้อง คำถามหนึ่งที่ฉันมีคือเมื่อไปที่ Keychain Access ที่สร้างใบรับรองฉันจะค้นหาคีย์ส่วนตัวได้อย่างไร ดูเหมือนว่า Keychain Access จะแสดงในบางสถานที่วัตถุ zillions ทั้งหมดเรียกชื่อเดียวกัน ดังนั้นฉันไม่แน่ใจเลยว่าฉันทำส่วนนั้นเท่าที่ควร
Michel

39
การส่งเมลหาตัวเองเพื่อถามคำถามที่ฉันถามคุณตอนนี้ไม่น่าจะได้ผล :)
มิเชล

1
แต่ฉันยังคิดว่าคำตอบของคุณทำให้ฉันมาถูกทางดังนั้นฉันต้องเจาะลึกลงไปอีกสักหน่อย
Michel

ในที่สุดฉันก็พบวิธีแก้ไขปัญหานี้ แต่ฉันไม่ได้ทำธุรกิจเซ็นสัญญาทั้งหมด ฉันตั้งกระทู้อื่นโดยมีคำถามแยกต่างหาก: stackoverflow.com/questions/47258499/…
Michel

ขอบคุณสำหรับ @matt นี้! ในกรณีของฉันฉันสร้างใบรับรองการแจกจ่าย iOS โดยใช้ CSR ที่ฉันสร้างบนอุปกรณ์ของฉัน แต่เมื่อฉันติดตั้งในพวงกุญแจไม่มีคีย์ส่วนตัวที่เชื่อมโยงกับใบรับรอง ฉันสามารถรวบรวมได้ แต่ไม่รู้ว่าคีย์ส่วนตัวอยู่ที่ไหนฉันจึงไม่สามารถให้ไฟล์ p12 แก่เพื่อนร่วมทีมได้ แม้ว่าจะเป็นกรณีที่แตกต่างกัน แต่ขอบคุณคำแนะนำของคุณในการไปที่บานหน้าต่างบัญชี Xcode ฉันสามารถส่งออกไปยัง p12 ได้ :) ตอนนี้ทุกอย่างเรียบร้อยดี แต่ฉันแค่สงสัยว่ากุญแจส่วนตัวนั้นซ่อนอยู่ที่ไหนซึ่งมันไม่ได้แสดงร่วมกับใบรับรองในพวงกุญแจ
KarenAnne

331

เป็นปัจจุบัน (กรกฎาคม 2020) (xcode 10-12)

  1. ไปที่ Xcode - การตั้งค่า - บัญชี - จัดการใบรับรอง
  2. คลิก+ที่ด้านล่างซ้ายจากนั้นApple development
  3. รอสักครู่แล้วคลิก Done

นั่นคือทั้งหมด คุณอาจต้องการเพิกถอนใบรับรองเก่าบนdeveloper.apple.comด้วย

คำตอบเก่า

ขั้นตอนที่ 1: - xcode -> ผลิตภัณฑ์ -> ที่เก็บถาวร -> คลิกจัดการใบรับรอง ป้อนคำอธิบายภาพที่นี่

ขั้นตอนที่ 2: - เพิ่มการกระจาย iOS ป้อนคำอธิบายภาพที่นี่


8
วิธีนี้ใช้ไม่ได้เพราะไม่มีอะไรเกิดขึ้นเมื่อฉันคลิกเครื่องหมายบวก ฉันไม่ได้รับตัวเลือกสำหรับ 'iOS Distribution'
arnoldbird

2
หากฉันเข้าถึงจัดการใบรับรองผ่าน Xcode> การตั้งค่า> บัญชีเครื่องหมายบวกจะทำงานตามที่แสดงในขั้นตอนที่ 2 ด้านบน
arnoldbird

12
นี่คงเป็นคำตอบที่ดีที่สุด
kishorekumaru

2
ว้าว :-D. แก้ไขให้ฉัน ไม่น่าจะเป็นไปได้หรือ Xcode ไม่ควรรบกวนคุณให้ทำ
Joshua R.

3
ปัจจุบันอยู่ใน Xcode 10.3 Xcode - การตั้งค่า - บัญชี - จัดการใบรับรอง
Anton

28

คำตอบนี้มีไว้สำหรับทีม "One Man" เพื่อแก้ปัญหานี้อย่างรวดเร็วโดยไม่ต้องอ่านข้อมูลเกี่ยวกับ "Team" มากเกินไป

ขั้นตอนที่ 1) ไปที่เว็บเบราว์เซอร์เปิดบัญชีนักพัฒนาของคุณ ไปที่ใบรับรองตัวระบุและโปรไฟล์ เลือกใบรับรอง / การผลิต คุณจะเห็นใบรับรองที่ไม่มีคีย์ส่วนตัวแสดงอยู่ที่นั่น คลิกเพิกถอน และทำตามคำแนะนำเพื่อลบใบรับรองนี้ ป้อนคำอธิบายภาพที่นี่ ขั้นตอนที่ 2) แค่นั้นเอง! กลับไปที่ Xcode เพื่อตรวจสอบแอปของคุณ ตอนนี้จะขอให้คุณสร้างใบรับรองใหม่ ตอนนี้คุณมีความสุขในการอัปโหลดแอปของคุณ


12

แก้ไข: ฉันคิดว่าคอมพิวเตอร์เครื่องอื่นเสียแล้วดังนั้นฉันจึงแก้ไขคำตอบของฉัน:

คุณควรส่งออกใบรับรองจากคอมพิวเตอร์เครื่องแรกพร้อมด้วยคีย์ส่วนตัวและนำเข้าในคอมพิวเตอร์เครื่องใหม่

ฉันชอบวิธี iCloud สำรองข้อมูลไปยัง iCloud และรับในคอมพิวเตอร์เครื่องใหม่

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


2
นั่นเป็นคำแนะนำที่แย่มาก
แมตต์

6
ตามความรู้ของฉันไม่มีอะไรเลวร้ายเกิดขึ้นเมื่อเพิกถอนใบรับรอง .. คุณรู้อย่างอื่นหรือไม่?
Yitzchak

ใช่; เขาสามารถส่งออกคีย์ส่วนตัวจากคอมพิวเตอร์ 1 ไปยังคอมพิวเตอร์ 2 สิ่งที่คุณกำลังให้คำแนะนำจะทำให้ใบรับรองการแจกจ่ายหยุดทำงานบนคอมพิวเตอร์เครื่องอื่น! เป็นเพราะเหตุใดที่เป็นสิ่งที่ดีหรือไม่?
แมตต์

2
ฉันคิดว่าคอมพิวเตอร์เครื่องอื่นเสียแล้ว
Yitzchak

9

เพิ่มใบรับรองการผลิตใหม่ที่นี่จากนั้นดาวน์โหลดไฟล์. cer แล้วดับเบิลคลิกเพื่อเพิ่มลงในพวงกุญแจ

ตอนนี้ทุกอย่างจะเรียบร้อยอย่าลืมรีสตาร์ท Xcode !!!


1
สำหรับฉันข้อผิดพลาดยังคงเกิดขึ้นต้องคลิกที่เครื่องหมายบวกเพื่ออัปเดตและทำงาน
Zack

8

คำตอบของผู้คนที่นี่เกี่ยวกับการสร้างคีย์จากคอมพิวเตอร์นั้นถูกต้อง แต่หากสิ่งต่างๆยังคงล้มเหลวให้ลองรีสตาร์ท Xcode หลังจากติดตั้งใบรับรอง


7

เพิกถอนใบรับรองการแจกจ่ายทั้งหมดสำหรับ developer.apple.com และการตรวจสอบความถูกต้องของแอปของคุณใน Xcode จะมีตัวเลือกในการสร้างใบรับรองการแจกจ่ายใหม่หลังจากที่คุณสามารถส่งออกคีย์เพื่อใช้งานต่อไปได้

งานนี้สำหรับฉัน


6

สำหรับคนอื่น ๆ ที่ตอบคำถามนี้คำตอบข้างต้นนั้นถูกต้อง แต่ก็ยังอาจสับสนเล็กน้อยโดยเฉพาะหากคุณมีใบรับรองหลายใบ นี่คือขั้นตอนที่ฉันทำ:

  1. ขั้นแรกให้จดวันที่ในใบรับรองการแจกจ่ายจริงที่ไม่มีคีย์ส่วนตัว จากนั้นไปที่แอปพลิเคชันพวงกุญแจบนคอมพิวเตอร์เครื่องอื่นแล้วพิมพ์ iOS ในแถบค้นหา มันจะแสดงคีย์ iOS Developer และ Distribution ทั้งหมดของคุณดังนั้นคุณต้องหาคีย์ที่ถูกต้อง

  2. คลิกลูกศรขวาของรายการการแจกจ่าย iOS แต่ละรายการเพื่อแสดงใบรับรองและค้นหาใบรับรองที่มีวันที่ที่ถูกต้องและส่งออกโดยคลิกขวาและส่งออกการเลือก

  3. จากนั้นเพียงแค่นำเข้าในพวงกุญแจของคอมพิวเตอร์เครื่องใหม่และอย่างน้อยด้วย Xcode 9.3 มันจะจำได้ทันทีและแก้ไขข้อผิดพลาดเพื่อให้คุณสามารถอัปโหลดความสำเร็จของคุณได้


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

4

หากคุณใช้ใบรับรองในคอมพิวเตอร์เครื่องใหม่หรือไม่ สิ่งที่ง่ายที่สุดที่จะทำคือการเพิกถอนใบรับรองก่อนหน้านี้ที่เกี่ยวข้องกับโครงการ จากนั้นอัปโหลดไปที่ร้านค้าอีกครั้ง Xcode จะสร้างใหม่


3

ในกรณีของฉัน Xcode ไม่ได้เข้าถึงใบรับรองจากพวงกุญแจฉันทำตามขั้นตอนเหล่านี้:

  1. ลบใบรับรองจากพวงกุญแจ
  2. รีสตาร์ทเครื่อง Mac
  3. สร้างใบรับรองใหม่
  4. ติดตั้งใบรับรองใหม่
  5. ทำความสะอาดโฟลเดอร์สร้าง
  6. สร้างโครงการ
  7. ทำความสะอาดโฟลเดอร์สร้างอีกครั้ง
  8. เก็บทันที มันใช้ได้แค่นั้นเอง

1
  1. ไปที่ลิงค์นี้https://developer.apple.com/account/resources/certificates/list

  2. ค้นหาชื่อใบรับรองในการอัปโหลดการแจ้งเตือนของคุณจากนั้น

  3. เพิกถอนใบรับรองว่า

  4. หากคุณมีใบรับรองคุณจะดาวน์โหลดอีกครั้ง
  5. อัปโหลด testflight อีกครั้ง
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.