Tôi chỉ đơn giản xóa chứng chỉ thừa không hiệu quả. Có vẻ như mỗi khi xcodebuild được gọi, nó đang "Tạo lại" chứng chỉ trong chuỗi khóa từ bộ nhớ cache ở đâu đó ... vấn đề tương tự như avi Tôi đã tạo một bản hack / sửa lỗi cho nó, đã cố gắng tìm nơi tệp được lưu vào bộ nhớ cache và xóa nó, nhưng không may mắn. Cuối cùng, điều làm việc với tôi (hơi khó, nhưng này, bạn có thể làm gì khác), là tìm ra số chứng chỉ là gì và xóa thủ công nó khỏi chuỗi khóa ngay sau khi xcodebuild được gọi. Trước tiên, hãy truy cập thư mục / usr / bin / của bạn (hoặc bất kỳ thư mục nào có tệp xcodebuild của bạn, hãy thử which xcodebuild
) và chạy lệnh sau:
sudo mv xcodebuild xcodebuild_actual
Sau đó, tạo một tệp bằng trình chỉnh sửa yêu thích của bạn (đừng quên sudo) với mã sau:
xcodebuild_actual $* &
echo "xcodebuild started, waiting to wipe certificate, 10 seconds"
sleep 2
echo "Wiping Certificate..."
sudo security -v delete-certificate -t -Z 407629F811D52C0BB7AD31BBB18DCB496354B05E
Lưu ý: bạn sẽ phải sửa đổi tệp sudoers của mình để có quyền truy cập chạy lệnh cụ thể này mà không cần phải nhập mật khẩu.
Thay thế danh tính hex sau -Z ở trên bằng danh tính hex của chứng chỉ zombie vi phạm. Cuối cùng, hãy đảm bảo rằng tệp xcodebuild có thể thực thi được:
sudo chmod 755 xcodebuild
Giờ đây, bạn có thể mở chuỗi khóa của mình và chạy lệnh xây dựng, đồng thời xem chứng chỉ zombie vi phạm được hồi sinh như thế nào và sau đó bị bắn nhanh trước khi nó trở thành vấn đề đối với việc thiết kế mã. Hy vọng rằng Apple sẽ đưa ra một bản sửa lỗi thực sự cho điều này.