การลบใบรับรองที่ซ้ำซ้อนไม่ได้ผลสำหรับฉัน ดูเหมือนว่าทุกครั้งที่เรียก xcodebuild มันคือ "สร้างใหม่" ใบรับรองในพวงกุญแจจากแคชที่ไหนสักแห่ง ... ปัญหาเดียวกับavi ที่ฉันสร้างแฮ็ค / แก้ไขสำหรับมันพยายามค้นหาว่าไฟล์ถูกแคชไว้ที่ไหน และเคลียร์ แต่ไม่มีโชค ในท้ายที่สุดสิ่งที่ได้ผลสำหรับฉัน (แฮ็คนิดหน่อย แต่เดี๋ยวก่อนคุณสามารถทำอะไรได้อีกบ้าง) คือการหาว่าหมายเลขใบรับรองคืออะไรและลบออกจากพวงกุญแจด้วยตนเองไม่นานหลังจากเรียก xcodebuild ขั้นแรกไปที่ไดเร็กทอรี / usr / bin / ของคุณ (หรือไดเร็กทอรีใดก็ตามที่มีไฟล์ xcodebuild ของคุณลองwhich xcodebuild
) และรันคำสั่งต่อไปนี้:
sudo mv xcodebuild xcodebuild_actual
จากนั้นสร้างไฟล์โดยใช้โปรแกรมแก้ไขที่คุณชื่นชอบ (อย่าลืม sudo) ด้วยรหัสต่อไปนี้:
xcodebuild_actual $* &
echo "xcodebuild started, waiting to wipe certificate, 10 seconds"
sleep 2
echo "Wiping Certificate..."
sudo security -v delete-certificate -t -Z 407629F811D52C0BB7AD31BBB18DCB496354B05E
หมายเหตุ: คุณจะต้องแก้ไขไฟล์ sudoers ของคุณเพื่อให้สามารถเข้าถึงเพื่อเรียกใช้คำสั่งเฉพาะนี้โดยไม่ต้องป้อนรหัสผ่าน
แทนที่ข้อมูลประจำตัวฐานสิบหกหลังจาก -Z ด้านบนด้วยรหัสประจำตัวฐานสิบหกของใบรับรองซอมบี้ที่กระทำผิด สุดท้ายตรวจสอบให้แน่ใจว่าไฟล์ xcodebuild ทำงานได้:
sudo chmod 755 xcodebuild
ตอนนี้คุณสามารถเปิดพวงกุญแจของคุณและเรียกใช้คำสั่ง build และดูว่าใบรับรองซอมบี้ที่กระทำผิดนั้นได้รับการคืนชีพอย่างไรจากนั้นจึงยิงปืนสั้น ๆ ก่อนที่มันจะกลายเป็นปัญหาในการเขียนโค้ด หวังว่า Apple จะแก้ไขปัญหานี้ได้จริง