2012-03-13 4 views
13

Tối nay tôi đã nâng cấp từ Snow Leopard lên Lion và nâng cấp lên Xcode 4.3.1 (iOS 5.1). Và bây giờ khi tôi thử và chạy chế độ gỡ lỗi trên thiết bị của tôi (iPad), tôi nhận được "Không tìm thấy hồ sơ cấp phép hợp lệ cho tệp thi hành này". Tôi đã thử mọi đề xuất trong các bài đăng trước đây về vấn đề này. Tôi đã tạo một chứng chỉ mới. Tôi đã đặt ký mã để sử dụng chứng chỉ mới. Tôi đã cập nhật hồ sơ cấp phép để sử dụng chứng chỉ mới. Tôi đã đi vào tệp .pbxproj và xóa tất cả các tham chiếu đến hồ sơ cung cấp. Tôi đã làm sạch và đóng Xcode một triệu lần. Không có vấn đề gì tôi làm, tôi vẫn nhận được lỗi tương tự khi cố gắng chạy trên thiết bị.Xcode 4.3.1 "Không thể tìm thấy hồ sơ cấp phép hợp lệ cho tệp thi hành này"

Trong tổ chức, hồ sơ cấp phép hiển thị dưới dạng "Hồ sơ hợp lệ" trong Thư viện của tôi, nhưng trong Hồ sơ cấp phép được liệt kê cho thiết bị, không có danh sách nào được liệt kê. Tôi đã thử nhấp vào nút Thêm và nhập thủ công - không có gì xảy ra. Nó không hiển thị. Khi tôi nhấp vào biểu tượng thiết bị trong Trình tổ chức, hãy nói "Cấp phép Không có hồ sơ cấp phép". Tuy nhiên, khi tôi truy cập Cổng cấp phép iOS trực tuyến và nhấp vào thiết bị, hồ sơ cấp phép hiển thị ở đó khi được liên kết với thiết bị.

Bất kỳ ý tưởng nào? Tôi kéo tóc ra đây.

+0

Bạn có kiểm tra định danh Bundle của bạn Bạn có? để cung cấp mã nhận dạng cho hồ sơ Cấp phép mới của bạn làm Mã định danh nhóm của bạn. – Sree

+0

ID ứng dụng được liên kết với hồ sơ cấp phép của tôi là (ID giống nhóm). (Bộ nhận dạng nhóm). Và nó khớp với Trình nhận dạng nhóm được đặt trong tệp info.plist của tôi. – Joel

+0

Bạn đã đặt cùng một 'Mã ký nhận dạng' trong' Cài đặt xây dựng' cho cả Dự án và Mục tiêu? Dễ nhất là sử dụng 'Nhà phát triển iPhone', điều đó làm cho nó luôn phù hợp với hồ sơ phù hợp. –

Trả lời

6

Giải pháp phù hợp với tôi là:

-Xóa tất cả các tham chiếu đến provisioning profile in .pbxproj.
-Xóa tất cả chứng chỉ trong keychain.
-Nhập chứng chỉ của tôi vào keychain.
-Cấu hình cấp phép mới được tạo và định cấu hình trong cổng thông tin dành cho nhà phát triển.
-Hồ sơ cấp phép được sắp xếp lại trong trình tổ chức xcode.
-Xóa cấu hình cấp phép ký tự đại diện mà xcode tự động thêm.
-Đã ký mã và chọn tài khoản ký kết được liên kết với hồ sơ cung cấp chính xác.
-Được cắm vào một thiết bị iOS khác (chuyển iPad sang iPhone mới)
-Được xây dựng cho thiết bị iOS mới.

Và nó hoạt động. Không chắc bước nào là ma thuật. Tôi đã không cài đặt lại xcode.

5

Đảm bảo có khóa cá nhân và khóa công khai hợp lệ được tạo cho tiểu sử. Quan trọng hơn là hãy chắc chắn rằng các phím được lưu trữ ở đúng nơi trong keychain.

Họ phải đăng nhập, không phải hệ thống hoặc bất kỳ vị trí nào khác. Điều này đã gây ra và phát hành cho tôi, và tôi mất một lúc để tìm ra giải pháp.

Hy vọng điều này sẽ hữu ích.

+0

Cảm ơn bạn đã đề xuất. Tôi đã thử điều đó. Tôi đã kết thúc mọi thứ và bắt đầu từ đầu với một hồ sơ cung cấp mới, v.v. – Joel

+1

@ JoelMilne: Các bước bạn đã làm cho điều đó là gì? Bạn đã cài đặt lại Xcode chưa? Bạn có thể cung cấp một số chi tiết? –

+1

Đã xóa tất cả các tham chiếu đến provisioning profile trong .pbxproj. Đã xóa tất cả các mục trong keychain. Đã nhập chứng chỉ của tôi vào keychain. Tạo hồ sơ cấp phép mới và định cấu hình nó trong cổng thông tin dành cho nhà phát triển. Hồ sơ cấp phép được làm mới trong trình tổ chức xcode. Đã xóa cấu hình cấp phép ký tự đại diện mà xcode tự động thêm. Đã đi vào ký mã và chọn khóa được liên kết với cấu hình cung cấp chính xác. Được xây dựng cho thiết bị iOS. Va no đa hoạt động. Tôi đã không cài đặt lại xcode. – Joel

10

Bạn có cơ hội có hai tài khoản nhà phát triển với các bộ thiết bị/ứng dụng khác nhau không? Tôi đã gặp phải tình huống này (xem hồ sơ "Cấp phép cho iOS Team" phù hợp với "Nhà phát triển iPhone"). Cách duy nhất tôi đã tìm thấy để chuyển đội, do đó, để nói chuyện, là để chọn thiết bị của bạn và bấm vào "Add to Portal" và đăng nhập với Apple ID chính xác.

+0

Không, tôi chỉ có một. Nhưng gợi ý tốt cho người khác. – Joel

+0

Điều này làm việc cho tôi. Tôi đã phải xóa cả hai tài khoản, sau đó khởi động lại XCode. Sau khi bắt đầu lại, tôi đã thêm lại tài khoản mà tôi cần cho dự án này. Điều đó phải đã kích hoạt làm mới các cấu hình từ các máy chủ của apple. Khi điều này xảy ra, tôi đã có thể chọn "hồ sơ cấp phép nhóm" làm chứng chỉ ký mã phát triển. – Jason

2

Tôi đã thấy vấn đề này trước đây, và tôi "chuẩn" Giải pháp là

a) thực hiện một dự án iOS giả mới, sử dụng đơn Xcode - file - mới - dự án. Kiểm tra ký mã là chứng chỉ nhà phát triển của bạn. Biên dịch và xem nó có thể chạy trên phần cứng iPhone/ipad của bạn hay không.

Nếu a) không thành công, đó là điều gì đó với chứng chỉ và móc khóa của bạn.Xóa tất cả và tạo chứng chỉ mới

Nếu b) hoạt động, đó là nội dung trong tệp .xcodeproj hoặc thư mục xây dựng cho dự án sự cố của bạn. Xóa tất cả các tệp và thư mục trong bản dựng. Sử dụng bản sao lưu của bạn (chắc chắn bạn có bản sao lưu hàng ngày cho dự án của mình !!!) và sao chép tệp .xcodeproj "cũ" vào dự án sự cố của bạn. Sử dụng Xcode - project - clean, xcode - project - build as - testing, và sau đây là "run".

Trước khi thử giải pháp trên, hãy tạo thêm một bản sao lưu.

chúc may mắn và nhớ rằng bạn không phải là người đầu tiên gặp vấn đề về chứng chỉ.

0

Trong trường hợp của tôi, vấn đề không liên quan đến khóa, chứng chỉ, hồ sơ cung cấp hoặc bất kỳ lý do nào khác được đề cập ở đây và ở mọi nơi khác. Nó chỉ ra rằng một số nhà phát triển khác trong một nhóm khác nhau vay iPad chúng tôi sử dụng và thay đổi ngày của thiết bị đến một năm trong tương lai! Sau khi tôi đặt đúng Ngày và Giờ và chạy ứng dụng trên thiết bị, mọi thứ hoạt động tốt.

Thật không may Xcode đã không cảnh báo tôi về điều này, và cho đến khi tôi cần khắc phục một vấn đề không liên quan khác mà Instruments đã thông báo cho tôi về tình huống này về ngày sai trên thiết bị.

0

Chỉ cần kiểm tra phần "Code Signing" trong "Build Settings". Nếu bạn tích cực xây dựng ứng dụng của mình để xuất bản ứng dụng có thể bạn quên thay đổi từ hồ sơ phân phối sang hồ sơ phát triển.

0

Nếu bạn đang ở trên Xcode 6, và chạy vào vấn đề này khi thêm một thiết bị mới (iPhone 5/6), bạn có thể làm theo các bước here:
https://stackoverflow.com/questions/22993092/a-valid-provisioning-profile-for-this-executable-was-not-found-error-when-tryi/26153171#26153171