Xcode 4-cài đặt lại chuỗi khóa chứng nhận mà tôi xóa


85

Tôi nhận được lỗi này:

Lỗi CodeSign: Nhận dạng chứng chỉ 'Nhà phát triển iPhone: XXX' xuất hiện nhiều lần trong chuỗi khóa. Công cụ thiết kế mã yêu cầu chỉ có một.

Lúc đầu, tôi không cần lo lắng, tôi sẽ chỉ vào keychain và xóa bản sao (cũ hơn), điều mà tôi đã làm. Tôi quay lại, đóng Xcode, mở lại Xcode và dự án, cùng một lỗi. wtf tôi mặc dù với chính mình. Quay lại chuỗi khóa và chứng chỉ lại ở đó. Tôi xóa cả hai chứng chỉ, lặp lại và thông báo khi dự án tải, hai chứng chỉ tôi đã xóa sẽ bật lại vào chuỗi khóa.

Sau nhiều lần tìm kiếm, tôi đảm bảo rằng tôi không có chứng chỉ trong chuỗi khóa hệ thống, điều mà tôi không có. Cũng đã làm sạch và xây dựng lại. Khi tôi có các bản sao với Xcode 3, tôi chỉ có thể xóa bản sao chuỗi khóa và tôi đã ổn. Nhưng với Xcode 4, nó thực sự chỉ cần cài đặt lại chúng bằng cách nào đó khi tôi mở dự án. Tôi thậm chí đã xóa tất cả các tệp .cer trên hệ thống của mình mà nó có thể đang lấy chúng từ đó.

Bất kỳ đề xuất?


1
Chúc mừng. Có cùng một vấn đề. :)
RedBlueThing

Có cùng một vấn đề. Điều này xảy ra vì Keychain không loại bỏ chứng chỉ đúng cách và bạn gặp phải tình huống khi 2 chứng chỉ xuất hiện (nhưng một chứng chỉ không hợp lệ). Chỉ cần xóa không hợp lệ trong ứng dụng Chuỗi khóa và điều này sẽ hoạt động tốt. Nhưng đó là giải pháp tạm thời. :(
Sergey Kopanev 12/11/12

Câu trả lời:


103

Giải pháp là đi vào hồ sơ cấp phép của tổ chức - trong thư viện -, xóa tất cả chúng và sau đó cài đặt lại bất kỳ hồ sơ nào mà tôi vẫn cần.


Đúng! Tôi có thể xác nhận điều này hoạt động. Mặc dù tôi tiếp tục xóa một cái trong chuỗi khóa, nó vẫn xuất hiện trở lại. Sau khi tôi xóa Hồ sơ cấp phép cũ khỏi Người tổ chức, tất cả đều như bình thường. Cảm ơn! :)
RoLYroLLs

1
Hoạt động cho tôi quá! Cảm ơn! Tôi nghĩ những gì XCode4 đang cố gắng làm là chèn chứng chỉ nhà phát triển vào chuỗi khóa của bạn cho các hồ sơ cấp phép bị thiếu chúng ngay cả khi chứng chỉ nhà phát triển đã hết hạn.
iphone007

5
Ngoài ra, hãy nhớ tạo lại hồ sơ cấp phép của bạn nếu bạn đã gia hạn chứng chỉ nhà phát triển của mình. Tôi đã không và khi tôi thêm lại hồ sơ cung cấp cũ, chứng chỉ nhà phát triển đã hết hạn được liên kết đã được lắp lại vào chuỗi khóa, D'oh!
iphone007

Hãy cẩn thận, bằng cách nào đó tôi đã xóa chuỗi khóa đăng nhập của mình khi cố xóa hồ sơ. Không chắc điều này xảy ra như thế nào vì tôi khá chắc chắn rằng khu vực danh sách chuỗi khóa có tiêu điểm khi tôi nhấn xóa. Sao lưu trước khi xóa và cẩn thận.
Avance

Điều này được giúp đỡ nhưng giống như những người khác đã nói, bạn thực sự cần phải truy cập chuỗi khóa và xóa chứng chỉ nhà phát triển đã hết hạn, không chỉ hồ sơ cấp phép.
Ron Srebro

33

Tôi đã gặp vấn đề tương tự và các giải pháp ở trên không giải quyết được vấn đề của tôi (gần như).

Tôi có cùng một ID / chứng chỉ nhà phát triển trùng lặp mà mọi người đang phàn nàn và tôi đã thử xóa tất cả hồ sơ của mình, thu hồi / cấp lại chứng chỉ của mình, đảm bảo không có chứng chỉ nào trong chuỗi khóa hệ thống, khởi động lại, v.v.

Cuối cùng nó bật ra có được một chứng chỉ trong keychain hệ thống, người ta đã hết hạn và do đó được ẩn theo mặc định trong danh sách.

Đảm bảo rằng bạn có thể thấy các chứng chỉ đã hết hạn trong KeyChain

Để làm điều này:

  1. Mở quyền truy cập chuỗi khóa
  2. Nhấp vào Xem menu
  3. Nhấp vào Hiển thị chứng chỉ đã hết hạn
  4. sau đó tìm kiếm và xóa chứng chỉ nhà phát triển đã hết hạn

Tuyệt vời, bạn là một thiên tài. Tôi đã làm mọi thứ được liệt kê ở mọi nơi. Bạn đã giúp tôi giải quyết vấn đề tháng cũ. Chúa phù hộ bạn!
Bushra Shahid

1
Hóa ra là tôi đã có chứng chỉ đã hết hạn trong chuỗi khóa hệ thống. Điều này đã giúp tôi tìm thấy nó! Cảm ơn!
christopher_f

11

Xcode 4 có một tính năng mới "Cung cấp thiết bị tự động". Nó nằm trong trình tổ chức dưới hồ sơ thư viện / cấp phép. Nếu bạn đã bật tính năng này, nó sẽ tự động tải xuống hồ sơ cấp phép của bạn từ máy chủ cấp phép của nhà phát triển apple và do đó bạn gặp lỗi có các bản sao. Cách dễ nhất để khắc phục là xóa tất cả hồ sơ cấp phép và nhấn làm mới cho "Cấp phép thiết bị tự động". Thao tác này sẽ tải hồ sơ cấp phép của bạn từ máy chủ và sẽ khắc phục sự cố của bạn.


Cám ơn vì cái này. Tôi đã xóa hồ sơ của mình và sử dụng tính năng cung cấp thiết bị tự động để lấy lại chúng và sự cố đã không còn nữa.
Sasho

Đây là up-to-date giải pháp, làm việc cho tôi (sau khi thử các giải pháp khác, họ dường như bị lỗi thời)
Kasihasi

7

nếu bạn muốn gây rối với quyền truy cập chuỗi khóa để xóa chứng chỉ đã hết hạn, bạn có thể thử cách này:

  • tạo một chuỗi khóa mới, đặt tên là "hết hạn" và CHỈ di chuyển chứng chỉ đã hết hạn vào đó.
  • xóa chuỗi khóa "hết hạn" mới được tạo CHỈ chứa chứng chỉ đã hết hạn, khi được hỏi, hãy chọn "Xóa tài liệu tham khảo và tệp".

chứng chỉ hết hạn sẽ biến mất cùng với chuỗi khóa. đã làm việc hoàn hảo cho tôi.


6
  1. Xóa tất cả Hồ sơ cấp phép khỏi XCode Organizer;
  2. Xóa Chứng chỉ nhà phát triển cũ khỏi Truy cập chuỗi khóa;
  3. Chỉ tạo Hồ sơ cấp phép với đúng Chứng chỉ nhà phát triển;
  4. Tải xuống và cài đặt Hồ sơ cấp phép mới;

-- BIÊN TẬP --

Kết hợp câu trả lời của @ Codezy và nhận xét của @ iphone007.


Câu trả lời của bạn không khắc phục được sự cố của tôi, thực tế là tôi đã xóa chứng chỉ nhà phát triển và hồ sơ cấp phép nhiều lần, nhưng chứng chỉ nhà phát triển cũ luôn được cài đặt lại. Nhưng nhận xét của @ iphone007 rất hữu ích, tôi chỉ hợp nhất chúng ....
Mr. Ming

2

Ngoài ra, xóa hồ sơ cấp phép trong thư viện của Organizer, bạn nên xóa chứng chỉ nhà phát triển iPhone trong Keychain Access. (Tên của chứng chỉ có thể giống như "Nhà phát triển iPhone: XXXXX ..." và được biểu thị bằng dấu X màu đỏ, là đã hết hạn)


Chỉ xóa và cài đặt lại hồ sơ cấp phép trong Công cụ tổ chức không giúp được gì, nhưng đề xuất xóa hồ sơ hết hạn khỏi chuỗi khóa của bạn đã khắc phục sự cố đó cho tôi, cảm ơn!
gulchrider

2

Tôi đã dành nửa ngày cho việc này và cuối cùng đã tìm ra giải pháp

  1. Mở KeyChain Access.app
  2. Chọn "Hệ thống" trong menu "Móc khóa" ở phần bên trái của màn hình ứng dụng Chuỗi khóa
  3. Chọn "Chứng chỉ" trong menu xuống "Danh mục"
  4. Xóa tất cả các chứng nhận cũ.

Sau đó đóng Keychain.app và truy cập Xcode -> Organizer

  1. Xóa tất cả Hồ sơ cấp phép trong menu Thư viện
  2. Xóa tất cả Hồ sơ cấp phép trong menu Thiết bị
  3. Nhấn nút "Làm mới" trong menu Thư viện -> Cấu hình cấp phép
  4. Thêm cấu hình cần thiết vào thiết bị của bạn

Xây dựng lại ứng dụng của bạn :)


1

Đối với hậu thế, đây là chiến lược để giải quyết vấn đề này trong tập lệnh xây dựng tự động của chúng tôi:

  1. Trước khi xây dựng, hãy chuyển thư mục ~ / Library / MobileDevices / Provisinstall Profiles sang một bên
  2. Kiểm tra xem Tiện ích cấu hình iPhone có đang chạy hay không và đóng nó (chứng chỉ luôn xuất hiện lại nếu ứng dụng này đang mở. Trong XCode 4.1, bạn cũng cần đóng trình tổ chức).
  3. Chạy bạn xây dựng
  4. Di chuyển thư mục Hồ sơ cấp phép trở lại
  5. Lợi nhuận?

1

Tôi đã thử mọi thứ được đề xuất ở đây nhưng không có gì hiệu quả với tôi ngoại trừ việc cài đặt lại XCode 4.3 đã giải quyết được trường hợp một cách kỳ diệu.


1

Tìm ra một cách thực sự dễ dàng để khắc phục điều này trong 4.6.1. Bạn có thể làm điều đó mà không cần khởi động lại bất kỳ thứ gì hoặc xóa bất kỳ cấu hình nào!

Với Quyền truy cập chuỗi khóa và dự án Xcode của bạn mở:

  1. Trong Xcode, mở Organizer - "Thiết bị" và chọn "nhóm" có chứng chỉ trùng lặp.
  2. Chuyển sang Truy cập chuỗi khóa và xóa (các) chứng chỉ cũ trùng lặp. Lưu ý: Đảm bảo bạn bật "hiển thị chứng chỉ đã hết hạn" để không bỏ lỡ bất kỳ chứng chỉ nào.
  3. Các chứng chỉ sẽ biến mất khỏi hồ sơ "nhóm" trong Công cụ tổ chức Xcode.
  4. Làm sạch dự án và xây dựng.

Hy vọng nó giúp!


0

phương pháp trên không hoạt động cho trường hợp của tôi

cuối cùng, tôi đi đến keychain

và tìm kiếm khóa bằng cách nhập tên

cuối cùng tôi đã tìm thấy chứng chỉ được cho là sẽ bị xóa trước đó. sau đó tôi đã xóa nó và vấn đề đã được giải quyết

nó thực sự bực bội, và tôi không biết liệu đó có phải lỗi không ....... có thực sự mệt mỏi không.


0

Trích dẫn một câu trả lời cho một bản sao của câu hỏi này, một số lỗi Xcode trong lĩnh vực này chỉ có thể được giải quyết bằng cách khởi động lại hệ điều hành X .

Cuối cùng, tôi đã đạt được thành công bằng cách xóa mọi thứ được đề cập trong bất kỳ câu trả lời nào cho câu hỏi này, khởi động lại, sau đó cài đặt thủ công các phần tôi cần (Tôi không tin tưởng / thử tính năng tải hồ sơ / chứng chỉ tự động).


0

Đối với những gì nó đáng giá, @AndreasPrang, câu trả lời của bạn đã hoạt động khi tất cả những điều trên không. Tôi có thể thấy chứng chỉ đã hết hạn không có ở bất kỳ đâu trong chuỗi khóa, nhưng khi tôi xây dựng, Xcode cho biết là có. Xóa hồ sơ cấp phép (tất cả chúng), chọn tên của tôi trong phần Đội và nhấp vào biểu tượng làm mới ở phía dưới bên phải của người tổ chức cũng không giúp được gì. Khởi động lại Xcode không giúp được gì, nhưng tắt XCode, xóa ~ / Library / Developer / Xcode thì có. Khi tôi khởi động lại XCode, nó đã xây dựng lại mọi thứ và rất vui.



0

Vừa cài đặt Xcode 4.6.1 và lại bắt đầu gặp sự cố này. Lần gần đây nhất cách đây đã lâu. Tôi đã xóa hồ sơ cấp phép cũ và chứng chỉ, nhưng vẫn không thể tạo.

Lần này, hóa ra tôi đã có 2 chứng chỉ được liệt kê trong tài khoản nhóm của cổng nhà phát triển. Đầu tiên đã hết hạn, thứ hai thì không. Xcode tiếp tục lấy cái đầu tiên nó tìm thấy trong khi làm mới (hoặc có thể cả hai).

Tôi đã xóa cả hai chứng chỉ khỏi chuỗi khóa, sau đó tải xuống thủ công chứng chỉ tốt từ cổng thông tin của Apple và thêm nó vào chuỗi khóa theo cách thủ công. Bây giờ tôi có thể xây dựng lại.

(Và tôi đã gửi yêu cầu tới quản trị viên nhóm để xóa chứng chỉ cũ.)


Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.