iOS 7.0 Không tìm thấy danh tính ký mã


124
  • Giấy chứng nhận là hợp lệ
  • xcode 5
  • IOS 7

Lỗi ký mã: Không tìm thấy danh tính mã hóa: Không tìm thấy mã nhận dạng mã (ví dụ: cặp chứng chỉ và khóa riêng) khớp với hồ sơ cung cấp được chỉ định trong cài đặt bản dựng của bạn (Hồ sơ cung cấp đội ngũ của iOS: *). Lỗi CodeSign: ký mã là bắt buộc đối với loại sản phẩm 'Ứng dụng' trong SDK 'iOS 7.0'


24
Tôi gọi đây là cơn ác mộng đăng nhập mã táo, tôi luôn giải quyết điều này bằng cách xóa chứng chỉ / hồ sơ của mình tải lại chúng, sau đó ánh xạ đúng hồ sơ.
meda


9
Khởi động lại Xcode giúp.
Ronald Randon

2
Khởi động lại Xcode hoạt động với tôi :)
Hemant Chittora

1
Khởi động lại lần thứ ba XCode
Khánh Nguyễn

Câu trả lời:


68

Giấy chứng nhận

  1. Thu hồi Giấy chứng nhận trước đó.
  2. Tạo chứng chỉ phát triển mới.
  3. Tải chứng chỉ.
  4. Nhấp đúp chuột để đặt vào KeyChain.

Đối với hồ sơ cung cấp

  1. Tạo mới hoặc Chỉnh sửa hồ sơ cung cấp hiện có.
  2. Tải về và cài đặt.

Đối với BundleIdentifier.

  1. com.yourcompanyName.S Something (Đặt giống như trong AppId)

nhập mô tả hình ảnh ở đây

CodeSigningIdentity.

  1. Chọn Hồ sơ cung cấp mà bạn đã tạo.

nhập mô tả hình ảnh ở đây


4
Thỉnh thoảng khởi động lại giúp, Nó giúp tôi sau khi khởi động lại máy Mac.
mặt nạ

1
Bạn cũng nên kiểm tra xem có hồ sơ cung cấp phân phối với ID ứng dụng khớp với mã định danh gói cho ứng dụng hay không. Khi tôi nhận được các kết quả khớp, hộp thoại gửi thoát cho tôi lỗi đó.
Chuck Krutsinger

1
Trước khi tạo lại chứng chỉ, tôi sẽ đề nghị đảm bảo bạn có khóa riêng của chứng chỉ mà bạn đang cố sử dụng.
jjramos

Bất kỳ lý do cụ thể mà tại sao chúng ta nên thu hồi các chứng chỉ trước đó ??
iAviatorJose

43

Cách khắc phục của tôi cho vấn đề này là:

Xcode> Tùy chọn. Trong Tài khoản, nhấp vào ID Apple của bạn. Nhấp vào Xem chi tiết, nhấp vào Hồ sơ cung cấp dự án của bạn (Tôi nghĩ rằng điều này sẽ giúp) và nhấp vào nút làm mới phía dưới bên trái.


17

Nghĩ rằng tôi sẽ bổ sung các câu trả lời khác với kinh nghiệm cá nhân của riêng tôi về điều này.

Gần đây tôi có một vấn đề trong đó hai mục tiêu sẽ được xây dựng và hai mục tiêu sẽ thất bại với lỗi sau:

Lỗi ký mã: Không tìm thấy nhận dạng ký mã: Không tìm thấy danh tính ký hợp lệ (ví dụ: cặp chứng chỉ và khóa riêng) phù hợp với nhóm ID Biệt XXXXXXXXXX. Lỗi CodeSign: ký mã là bắt buộc đối với loại sản phẩm 'Ứng dụng' trong SDK 'iOS 7.1'

Điều này mặc dù đã cập nhật mọi thứ trong Xcode và trên Trung tâm nhà phát triển iOS .

Gợi ý là ID nhóm được hiển thị trong thông báo lỗi xây dựng đã hết hạn.

Chắc chắn, việc mở project.pbxprojtệp Xcode trong trình soạn thảo Văn bản đã tìm thấy id nhóm cũ:

D29A93A318AB96440099C177 = {
        DevelopmentTeam = XXXXXXXXXX;
};

Ngẫu nhiên, để có được project.pbxprojtệp của bạn , hãy chọn .xcodeprojtệp của bạn và hiển thị nội dung như được hiển thị ở đây:

nhập mô tả hình ảnh ở đây

Tìm kiếm trên Id mục tiêu D29A93A318AB96440099C177, tôi có thể thấy rằng nó phù hợp với một trong những mục tiêu thất bại:

targets = (
    F5E8B19A16E64505006F22D4 /* MyTarget1 */,
    93DB2342183F737100BEA69F /* MyTarget2 */,
    D29A93A318AB96440099C177 /* MyTarget3 */,
    D200F4B518AB968A00F58C21 /* MyTarget4 */,
    F5E8B1C016E64505006F22D4 /* MyTarget5 */,
    589FB35119114DED003D9350 /* MyTarget6 */,
);

Trong trường hợp này , MyTarget3. Để giải quyết, một tìm kiếm văn bản đơn giản đã thay thế Id nhóm cũ bằng Id chính xác mới. Vấn đề được giải quyết.

Để tóm tắt , hy vọng tình huống của bạn sẽ được giải quyết bằng các câu trả lời ở trên thay vì đi sâu vào sự phức tạp của tệp dự án Xcode. Tuy nhiên, nếu không, và lỗi hiển thị ID nhóm không hợp lệ, thì đáng để kiểm tra xem ID nhóm đó có còn hay không.


Đây là vấn đề của tôi là tốt. Không chắc đó là do tôi hoặc ai đó trong nhóm phân phối của tôi có hồ sơ, certs của riêng họ, v.v. Tôi đã đưa nó lên để tự động hợp nhất tệp pbxproj một cách kém. Sự phát triển mà tôi nhận thấy xuất phát từ danh sách Nhóm thả xuống trong tab Chung trong cài đặt dự án của tôi. Loại bỏ hoàn toàn dòng đó làm việc cho tôi nếu bạn muốn nhóm được đặt thành Không.
JoshA

Tôi đã kiểm tra rồi, DevelopmentTeam của tôi có đúng không khi tôi lấy id mới? cài đặt chứng chỉ có cùng DevelopmentTeam có trong đó. vui lòng giúp đỡ
9to5ios

Hoạt động như một Bùa chú. Chỉ cần thay thế Id được hiển thị trong lỗi bằng cái ở trên nó.
vanguard69

Trong trường hợp của tôi, tôi đã phải nhấp vào nút "Khắc phục" trong Mục tiêu -> Chung -> Danh tính
Ohad Schneider

9

Tôi đã có cùng một vấn đề trong phát triển. Tôi đã giải quyết nó bằng cách

  1. Chuyển đến tùy chọn XCode, xem chi tiết về ID Apple và xóa tệp cung cấp đang phàn nàn.
  2. Truy cập Keychain Access và xóa chứng chỉ phát triển có liên quan đến tệp cung cấp mà bạn vừa xóa.
  3. Trong Trung tâm thành viên Apple, tải xuống tệp cung cấp phát triển mà bạn vừa xóa cục bộ, nhấp đúp vào tệp để đảm bảo tệp xuất hiện trong XCode.
  4. Tải xuống chứng chỉ phát triển mà bạn vừa xóa cục bộ và nhấp đúp để đảm bảo nó xuất hiện trong Truy cập Keychain.
  5. Nó nên được tốt để đi bây giờ.

2
Câu trả lời này cần phải cao hơn trên trang.
bkSwifty

8

Tôi chỉ gặp vấn đề này với Jenkins.

Giải pháp là sao chép chứng chỉ và dán vào móc khóa hệ thống nếu không Jenkins không thể đọc chứng chỉ.


7

Bạn không cần phải xóa tất cả các cấu hình để khắc phục vấn đề này,

Khi nhìn vào hồ sơ thiết bị của tôi trong Trình tổ chức, tôi thấy một trong những hồ sơ của mình không hợp lệ. Sau đó, tôi đã đi đến trang Chứng chỉ dành cho nhà phát triển, Số nhận dạng & Hồ sơ và tất cả các cấu hình đều hoạt động, màu xanh lá cây và trông vẫn ổn nhưng khi nhấp vào chỉnh sửa trên trang không hợp lệ trên thiết bị của tôi, tôi thấy rằng hộp kiểm trong tài khoản được liên kết không được chọn mặc dù Chọn tất cả đã được kiểm tra. Tôi đã chọn hộp để liên kết hồ sơ với chứng chỉ của mình, tải xuống Hồ sơ và mọi thứ đã được sửa.

Trên trang web Hồ sơ của bạn, nhấp vào "Chỉnh sửa" Trên trang web Hồ sơ của bạn

Bạn có thể thấy rằng không có chứng chỉ liên quan mặc dù đã chọn "Chọn tất cả". Chỉnh sửa hồ sơ của bạn! [] [1]


Tôi chuẩn bị xóa tất cả hồ sơ cung cấp của mình và bắt đầu từ bản phác thảo, sau đó tôi tình cờ gặp bạn. Bạn thân hoàn toàn. Một ngày lãng phí vì vấn đề này. Cảm ơn rất nhiều vì đã chia sẻ câu trả lời của bạn.
Nilesh Kumar

4

Đối với tôi, đặt Dự án → Mục tiêu / [Dự án của bạn] → Chung → Nhóm thành "Không" đã giải quyết được vấn đề.


4

Đã trải qua một khoảng thời gian vô lý khi cố gắng giải quyết một trong những điều này, và tôi chắc chắn có thể thấy hầu hết các câu trả lời này có thể đúng trong một số trường hợp, tình huống của tôi không phải là hiếm.

Tôi đã cố gắng triển khai đến cửa hàng ứng dụng để thử nghiệm với TestFlight. Một nhà phát triển trước đó, không còn là một phần của dự án hoặc công ty, đã tạo Chứng chỉ phân phối IOS. Điều mà xcode đang cố nói với tôi là có, chứng chỉ ở trung tâm thành viên, nhưng anh bạn hoàn toàn không thể sử dụng nó vì nó không phải của bạn. Tôi không có khóa riêng cần thiết để ký với nó và không có số lần làm mới, khởi động lại, thu hồi sẽ giúp tôi. Bạn cần một nhà phát triển và chứng chỉ phân phối để tải lên cửa hàng ứng dụng.

Giải pháp là tạo chứng chỉ phân phối sản xuất mới trong trung tâm thành viên, sử dụng yêu cầu ký mới từ móc khóa của tôi. Quá trình này được ghi lại tốt và được mô tả trong khi bạn tạo chứng chỉ trực tuyến. Sau khi hoàn tất, hãy làm mới tài khoản của bạn bằng xcode để tải xuống móc khóa của bạn và bạn sẽ trở nên vàng. Tôi hi vọng nó sẽ giúp ích cho mọi người!


2

Nghe có vẻ lạ nhưng đối với tôi, tôi đã khởi động lại máy mac của mình..tôi không thể giải thích tại sao và điều gì đã xảy ra nhưng nó hoạt động ngay bây giờ. hy vọng nó sẽ giúp được ai đó


2

Tôi đã đạt được chủ đề này khi tôi đang sử dụng tập lệnh xây dựng dòng lệnh / jenkins thuần túy và tôi không muốn bất kỳ thiết lập UI / RDP thủ công nào cho môi trường tích hợp.

Sau một vài giờ cố gắng giải quyết chính xác cùng một vấn đề bằng cách sử dụng jenkins.
Chìa khóa là "danh sách khóa bảo mật -s <your_keychain_name>"

--- Câu chuyện dài ---
Tôi sử dụng tập lệnh trong jenkins để ghi đè cài đặt theo từng dự án (cung cấp hồ sơ và ký nhận dạng)
Sau khi nâng cấp lên Xcode 7, tôi phải thay đổi tập lệnh thêm ở trên "danh sách khóa" sau khi "tạo- móc khóa "

Kịch bản cập nhật tại đây .


1

bạn không cần phải xóa tất cả các hồ sơ của mình. Tôi gặp vấn đề tương tự và khắc phục nó bằng cách cài đặt các chứng chỉ bị thiếu. Bạn có thể quên cài đặt chứng chỉ cần thiết cho hồ sơ cung cấp mà bạn đang sử dụng để ký mã.

  • đảm bảo rằng bạn đã cài đặt các chứng chỉ mong muốn (phát triển / phân phối) vào móc khóa cho hồ sơ cung cấp ký mã (phát triển / phân phối).

1

Cố gắng thay đổi Định danh gói: Dự án -> Mục tiêu / [Dự án của bạn] -> Chung -> Định danh gói

Nếu ứng dụng được xuất bản tại AppStore XCode không cho phép tạo ứng dụng có cùng số nhận dạng gói.


1

Nhắm mục tiêu iOS 8 và 9 trên Xcode 7. Hồ sơ phát triển của tôi vẫn ổn, tôi đã gặp lỗi này khi lưu trữ ứng dụng để tải lên cửa hàng ứng dụng. Đây là những gì tôi đã làm:

Xcode> Tùy chọn> Tài khoản> Xem chi tiết. Bên cạnh Phân phối iOS, nhấp vào nút "Đặt lại". Điều này sẽ làm mất hiệu lực hồ sơ cung cấp phân phối mà bạn đang sử dụng (vì bạn đặt lại chứng chỉ phân phối), vì vậy hãy chỉnh sửa cấu hình để bao gồm chứng chỉ mới được đặt lại.

Đảm bảo tải xuống cả chứng chỉ phân phối mới và hồ sơ cung cấp phân phối mới được chỉnh sửa. Khởi động lại Xcode.


1

Đảm bảo rằng chứng chỉ của bạn được kết nối với khóa riêng của bạn :

Mở Keychain truy cập, đăng nhập, Chứng chỉ . Tìm chứng chỉ trong danh sách và xem nó có được ghép đúng với khóa riêng của bạn không.

Nếu chứng chỉ không được ký bằng khóa riêng, hãy xóa nó, đi đến trang nhà phát triển apple và tạo chứng chỉ mới. Đôi khi nó sẽ là cần thiết để thu hồi cũ. Chứng chỉ mới này sẽ được ký chính xác với khóa riêng của bạn.

Bây giờ, khi bạn có chứng chỉ mới, hãy tạo lại các hồ sơ cung cấp cần thiết sẽ bao gồm chứng chỉ mới trong quá trình tạo.

Lưu ý, khi ai đó trong nhóm của bạn đặt lại chứng chỉ này bằng khóa riêng của mình, vấn đề tương tự này có thể xuất hiện lại trong quá trình làm mới. Tôi không chắc chắn, nhưng dường như mọi nhà phát triển trong nhóm phải có chứng chỉ riêng để phân phối.


1

Rõ ràng vấn đề này có nguyên nhân khác nhau. :)

Đối với trường hợp của tôi, đăng nhập tài khoản của tôi đã hết hạn ... Tôi đã giải quyết nó đơn giản bằng cách:

XCode -> Tùy chọn -> Tài khoản -> ID Apple -> Chọn ID liên quan và gia hạn đăng nhập ...

Hi vọng điêu nay co ich!


0

Chuyển đến Trình điều hướng sự cố và kiểm tra xem Signing Identity:có trong Truy cập Keychain của bạn không . Nếu không, tải .certập tin và gắn nó vào móc khóa.


0

Sau khi nhổ tóc trong một thời gian dài, cuối cùng tôi đã phát hiện ra một vấn đề. Tôi đã chọn chứng chỉ sai trong khi tạo Hồ sơ cung cấp, Bằng cách chọn đúng, Nó giúp tôi. Trong trường hợp của bạn, Nếu là nhiều thì bạn phải thử và chọn Từng người một để có được vấn đề này được giải quyết.


0

Tôi đã gặp lỗi không rõ ràng này, "Command / usr / bin / Codeign không thành công với mã thoát 1", khi tôi đang thiết lập các hộp Jenkins mới cho các bản dựng iOS với Xcode 7.3, OSX 10.11.4.

Trong trường hợp của tôi, tôi đã có một số điều đúng: 1. Có tôi đã thêm chứng chỉ của mình vào móc khóa, cả chứng chỉ gốc của Apple và chứng chỉ của đội. 2. Có tôi đã tải xuống hồ sơ cung cấp chính xác thông qua các tùy chọn xcode. 3. Có nó thậm chí được xây dựng thủ công trong xcode.

Tuy nhiên, đối với jenkins, có lẽ đã xảy ra sự cố bộ nhớ đệm trên xcode. Những gì đã làm việc là: 1. Thoát khỏi GUI Xcode. 2.Nhận lại và chạy bản dựng một lần. 3.Chỉ sau đó sẽ nhắc Xcode để cho phép ủy quyền truy cập móc khóa. 4.Jenkins có một số cài đặt có thể khắc phục điều này, nhưng máy của tôi vẫn an toàn, vì vậy tôi nhấp vào 'luôn cho phép xcode truy cập vào móc khóa'.


0

Với fastlane được cài đặt, bạn có thể tạo và cài đặt Chứng chỉ phát triển bằng cách

cert --development
sigh --development
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.