Xcode 4 - ติดตั้งใบรับรองพวงกุญแจใหม่ที่ฉันลบ


85

ฉันได้รับข้อผิดพลาดนี้:

ข้อผิดพลาด CodeSign: ข้อมูลประจำตัวใบรับรอง "ผู้พัฒนา iPhone: XXX" ปรากฏในพวงกุญแจมากกว่าหนึ่งครั้ง เครื่องมือการเขียนโค้ดต้องมีเพียงอย่างเดียว

ตอนแรกฉันไม่ต้องกังวลฉันจะไปที่พวงกุญแจและลบรายการที่ซ้ำกัน (เก่ากว่า) ซึ่งฉันทำ ฉันย้อนกลับไปปิด Xcode เปิด Xcode และโปรเจ็กต์อีกครั้งข้อผิดพลาดเดียวกัน wtf ฉันคิดกับตัวเอง กลับเข้าสู่พวงกุญแจและใบรับรองอยู่ที่นั่นอีกครั้ง ฉันลบทั้งใบรับรองทำซ้ำและสังเกตเห็นเมื่อโปรเจ็กต์โหลดใบรับรองทั้งสองที่ฉันลบป๊อปกลับเข้าไปในพวงกุญแจ

หลังจากค้นหามากฉันมั่นใจว่าฉันไม่มีใบรับรองในพวงกุญแจระบบซึ่งฉันไม่มี ยังทำความสะอาดและสร้างใหม่ เมื่อฉันทำซ้ำกับ Xcode 3 ฉันสามารถล้างข้อมูลที่ซ้ำกันของพวงกุญแจได้และฉันก็ทำได้ดี แต่ด้วย Xcode 4 มันเพียงแค่ติดตั้งใหม่เมื่อฉันเปิดโครงการ ฉันยังลบไฟล์. cer ทั้งหมดในระบบของฉันซึ่งอาจดึงมาจากไฟล์

ข้อเสนอแนะใด ๆ ?


1
ไชโย มีปัญหาเดียวกัน :)
RedBlueThing

มีปัญหาเดียวกัน. เกิดขึ้นเนื่องจาก Keychain ไม่ได้ลบใบรับรองอย่างถูกต้องและคุณมีสถานการณ์เมื่อใบรับรอง 2 รายการปรากฏขึ้น (แต่ใบหนึ่งไม่ถูกต้อง) เพียงลบที่ไม่ถูกต้องในแอปพวงกุญแจและจะใช้งานได้ดี แต่เป็นการแก้ปัญหาชั่วคราว :(
Sergey Kopanev

คำตอบ:


103

วิธีแก้ปัญหาคือเข้าไปในออแกไนเซอร์ - ภายใต้ไลบรารี - การจัดเตรียมโปรไฟล์ลบทั้งหมดแล้วติดตั้งโปรไฟล์ที่ฉันยังต้องการอีกครั้ง


ได้! ฉันสามารถยืนยันได้ว่ามันได้ผล แม้ว่าฉันจะยังคงลบอันที่อยู่ในพวงกุญแจมันก็ยังคงปรากฏขึ้นอีกครั้ง เมื่อฉันลบโปรไฟล์การจัดสรรแบบเก่าออกจากออแกไนเซอร์ทั้งหมดก็เป็นไปตามปกติ ขอบคุณ! :)
RoLYroLLs

1
ใช้ได้ผลกับฉันด้วย! ขอบคุณ! ฉันคิดว่าสิ่งที่ XCode4 พยายามทำคือใส่ใบรับรอง dev ลงในพวงกุญแจของคุณสำหรับโปรไฟล์ prov ที่หายไปแม้ว่าใบรับรอง dev จะหมดอายุ
iphone007

5
นอกจากนี้อย่าลืมสร้างโปรไฟล์การจัดเตรียมของคุณใหม่หากคุณต่ออายุใบรับรองการพัฒนาของคุณ ฉันไม่ได้และเมื่อฉันเพิ่มโปรไฟล์ prov เก่าอีกครั้งใบรับรอง dev ที่หมดอายุที่เกี่ยวข้องจะถูกใส่เข้าไปในพวงกุญแจอีกครั้ง D'oh!
iphone007

ระวังฉันลบพวงกุญแจเข้าสู่ระบบของฉันโดยพยายามลบโปรไฟล์ ไม่แน่ใจว่าสิ่งนี้เกิดขึ้นได้อย่างไรเนื่องจากฉันค่อนข้างแน่ใจว่าพื้นที่รายการพวงกุญแจมีโฟกัสเมื่อฉันกดลบ สำรองข้อมูลก่อนลบและระวัง
avance

วิธีนี้ช่วยได้ แต่ก็เหมือนที่คนอื่น ๆ พูดคุณต้องไปที่พวงกุญแจและลบใบรับรองนักพัฒนาที่หมดอายุไม่ใช่แค่การจัดสรรโปรไฟล์
Ron Srebro

33

ฉันมีปัญหาเดียวกันนี้และวิธีแก้ปัญหาข้างต้นไม่สามารถแก้ปัญหาของฉันได้ (เกือบ)

ฉันมี ID / ใบรับรองนักพัฒนาที่ซ้ำกันที่ทุกคนบ่นและฉันพยายามลบโปรไฟล์ทั้งหมดของฉันเพิกถอน / ออกใบรับรองใหม่ตรวจสอบให้แน่ใจว่าไม่มีในพวงกุญแจระบบรีสตาร์ท ฯลฯ ฯลฯ

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

ตรวจสอบให้แน่ใจว่าคุณสามารถเห็นใบรับรองที่หมดอายุใน KeyChain

เพื่อทำสิ่งนี้:

  1. เปิด การเข้าถึงพวงกุญแจ
  2. คลิก ดูเมนู
  3. คลิก แสดงใบรับรองที่หมดอายุ
  4. จากนั้นค้นหาและลบใบรับรองนักพัฒนาซอฟต์แวร์ที่หมดอายุ

ยอดเยี่ยมคุณเป็นอัจฉริยะ ฉันทำทุกอย่างที่ระบุไว้ทุกที่ คุณช่วยฉันแก้ปัญหาเก่าหลายเดือน ขอพระเจ้าอวยพรคุณ!
Bushra Shahid

1
ปรากฎว่าฉันมีใบรับรองที่หมดอายุภายใต้พวงกุญแจระบบ สิ่งนี้ช่วยให้ฉันค้นพบ! ขอบคุณ!
christopher_f

11

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


ขอบคุณสำหรับสิ่งนี้. ฉันได้ลบโปรไฟล์ของฉันและใช้การจัดเตรียมอุปกรณ์อัตโนมัติเพื่อดึงข้อมูลกลับมาและปัญหาก็หายไป
Sasho

นี่เป็นวิธีแก้ปัญหาที่ทันสมัยซึ่งได้ผลสำหรับฉัน (หลังจากลองใช้วิธีแก้ปัญหาอื่น ๆ ดูเหมือนว่าจะล้าสมัย)
Kasihasi

7

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

  • สร้างพวงกุญแจใหม่ตั้งชื่อว่า "หมดอายุ" แล้วย้ายเท่านั้นใบรับรองที่หมดอายุไปยัง
  • ลบพวงกุญแจ "หมดอายุ" ที่สร้างขึ้นใหม่ซึ่งมีเฉพาะใบรับรองที่หมดอายุเมื่อระบบถามให้เลือก "ลบการอ้างอิงและไฟล์"

ใบรับรองที่หมดอายุจะหายไปพร้อมกับพวงกุญแจ ทำงานได้อย่างสมบูรณ์แบบสำหรับฉัน


6
  1. ลบโปรไฟล์การจัดเตรียมทั้งหมดออกจาก XCode Organizer;
  2. ลบใบรับรองนักพัฒนาเก่าออกจากการเข้าถึงพวงกุญแจ
  3. สร้างโปรไฟล์การจัดเตรียมด้วยใบรับรองนักพัฒนาที่ถูกต้องเท่านั้น
  4. ดาวน์โหลดและติดตั้งโปรไฟล์การจัดเตรียมใหม่

- แก้ไข -

ผสานคำตอบของ @ Codezy และความคิดเห็นของ @ iphone007


คำตอบของคุณไม่สามารถแก้ปัญหาของฉันได้จริงๆแล้วฉันได้ลบใบรับรองนักพัฒนาและโปรไฟล์การจัดสรรหลายครั้ง แต่ใบรับรองนักพัฒนาเก่าจะได้รับการติดตั้งใหม่ แต่ @ iphone007 ของความคิดเห็นที่เป็นประโยชน์ผมก็รวมพวกเขา ....
นายหมิง

2

การลบโปรไฟล์การจัดเตรียมในไลบรารีของ Organizer นอกจากนี้คุณควรลบใบรับรองนักพัฒนา iPhone ใน Keychain Access (ชื่อใบรับรองน่าจะเป็น "iPhone Developer: XXXXX ... " และระบุด้วยเครื่องหมาย X สีแดงเมื่อหมดอายุ)


เพียงแค่ลบและติดตั้งโปรไฟล์การจัดเตรียมใหม่ในออแกไนเซอร์ไม่ได้ช่วยอะไร แต่คำแนะนำของคุณในการลบโปรไฟล์ที่หมดอายุออกจากพวงกุญแจได้รับการแก้ไขแล้วขอบคุณ!
gulchrider

2

ฉันใช้เวลาครึ่งวันและในที่สุดก็พบวิธีแก้ปัญหา

  1. เปิด KeyChain Access.app
  2. เลือก "ระบบ" ในเมนู "พวงกุญแจ" ทางด้านซ้ายของหน้าจอแอปพลิเคชันพวงกุญแจ
  3. เลือก "ใบรับรอง" ในเมนูด้านล่าง "หมวดหมู่"
  4. ลบใบรับรองเก่าทั้งหมด

จากนั้นปิด Keychain.app แล้วไปที่ Xcode -> Organizer

  1. ลบโปรไฟล์การจัดเตรียมทั้งหมดในเมนูไลบรารี
  2. ลบโปรไฟล์การจัดเตรียมทั้งหมดในเมนูอุปกรณ์
  3. กดปุ่ม "รีเฟรช" ในเมนูไลบรารี -> โปรไฟล์การจัดสรร
  4. เพิ่มโปรไฟล์ที่จำเป็นลงในอุปกรณ์ของคุณ

สร้างแอปของคุณอีกครั้ง :)


1

สำหรับคนรุ่นหลังนี่คือกลยุทธ์ในการแก้ไขปัญหานี้ในสคริปต์การสร้างอัตโนมัติของเรา:

  1. ก่อนสร้างให้ย้าย~ / Library / MobileDevices / Provisioning Profilesไดเร็กทอรีออก
  2. ตรวจสอบดูว่ายูทิลิตี้การกำหนดค่า iPhoneทำงานอยู่หรือไม่และปิด (ใบรับรองจะปรากฏขึ้นอีกครั้งเสมอหากเปิดแอปนี้ใน XCode 4.1 คุณต้องปิดตัวจัดระเบียบด้วย)
  3. เรียกใช้คุณสร้าง
  4. ย้ายโปรไฟล์การจัดเตรียมไดเร็กทอรีกลับ
  5. กำไร?

1

ฉันได้ลองทุกอย่างที่แนะนำที่นี่ แต่ไม่มีอะไรได้ผลสำหรับฉันยกเว้นการคืนสถานะ XCode 4.3 แก้ไขกรณีได้อย่างน่าอัศจรรย์


1

หาวิธีง่ายๆในการแก้ไขปัญหานี้ใน 4.6.1 คุณสามารถทำได้โดยไม่ต้องรีสตาร์ทอะไรหรือลบโปรไฟล์ใด ๆ !

ด้วยการเข้าถึงพวงกุญแจและโครงการ Xcode ของคุณเปิดอยู่:

  1. ใน Xcode ให้เปิด Organizer - "Devices" แล้วเลือก "team" ที่มีใบรับรองซ้ำกัน
  2. เปลี่ยนไปใช้การเข้าถึงพวงกุญแจและลบใบรับรองที่ซ้ำกันเดิม หมายเหตุ: อย่าลืมเปิด "แสดงใบรับรองที่หมดอายุ" เพื่อไม่ให้พลาด
  3. ใบรับรองจะหายไปจากโปรไฟล์ "ทีม" ใน Xcode Organizer
  4. ทำความสะอาดโครงการและสร้าง

หวังว่าจะช่วยได้!


0

วิธีการข้างต้นใช้ไม่ได้กับกรณีของฉัน

ในที่สุดฉันก็ไปที่พวงกุญแจ

และค้นหาคีย์โดยป้อนชื่อ

ในที่สุดฉันก็พบใบรับรองซึ่งควรจะถูกลบไปก่อน จากนั้นฉันลบมันและปัญหาได้รับการแก้ไข

มันน่าหงุดหงิดจริงๆและฉันไม่รู้ว่ามันคือบั๊ก .......


0

การอ้างคำตอบสำหรับคำถามที่ซ้ำกันข้อบกพร่องบางอย่างของ Xcode ในพื้นที่นี้สามารถแก้ไขได้โดยการรีสตาร์ท OS XX

ในท้ายที่สุดฉันประสบความสำเร็จโดยการลบทุกสิ่งที่กล่าวถึงในคำตอบของคำถามนี้รีสตาร์ทจากนั้นติดตั้งชิ้นส่วนที่ฉันต้องการด้วยตนเอง (ฉันไม่ไว้วางใจ / ลองใช้คุณสมบัติการดาวน์โหลดโปรไฟล์ / ใบรับรองอัตโนมัติ)


0

สำหรับสิ่งที่คุ้มค่า @AndreasPrang คำตอบของคุณได้ผลเมื่อทั้งหมดข้างต้นไม่ได้ผล ฉันเห็นใบรับรองที่หมดอายุไม่ได้อยู่ที่ใดในพวงกุญแจ แต่เมื่อฉันสร้างงาน Xcode ก็บอกว่าเป็น การลบโปรไฟล์การจัดเตรียม (ทั้งหมด) การเลือกชื่อของฉันในส่วนทีมและการคลิกไอคอนรีเฟรชที่ด้านล่างขวาของผู้จัดก็ไม่ได้ช่วยเช่นกัน การรีสตาร์ท Xcode ไม่ได้ช่วย แต่การปิด XCode การลบ ~ / Library / Developer / Xcode ทำ เมื่อฉันรีสตาร์ท XCode มันสร้างทุกอย่างขึ้นมาใหม่และมีความสุข


0

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

ตรวจสอบที่นี่เพื่อลบใบรับรองการพัฒนาและการแจกจ่ายออกจากพวงกุญแจของคุณ


0

เพิ่งติดตั้ง Xcode 4.6.1 และเริ่มมีปัญหานี้อีกครั้ง ครั้งที่แล้วกลับนานมาก ฉันลบโปรไฟล์การจัดสรรและใบรับรองเก่าออกไปแล้ว แต่ยังไม่สามารถสร้างได้

คราวนี้ปรากฎว่าฉันมีใบรับรอง 2 รายการสำหรับฉันในบัญชีทีมของพอร์ทัลนักพัฒนา ครั้งแรกหมดอายุครั้งที่สองไม่ได้ Xcode ยังคงคว้าอันแรกที่พบขณะรีเฟรช (หรืออาจทั้งสองอย่าง)

ฉันลบใบรับรองทั้งสองออกจากพวงกุญแจจากนั้นดาวน์โหลดใบรับรองที่ดีด้วยตนเองจากพอร์ทัลของ Apple และเพิ่มลงในพวงกุญแจด้วยตนเอง ตอนนี้ฉันสามารถสร้างได้อีกครั้ง

(และฉันได้ส่งคำขอไปยังผู้ดูแลระบบของทีมเพื่อลบใบรับรองเก่า)


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