Các quyền được chỉ định hồ sơ cá nhân. (0xE8008016). Lỗi iOS 4.2


142

Tôi đang gặp phải lỗi 'đáng sợ' The entitlements specified in your application’s Code Signing Entitlements file do not match those specified in your provisioning profile. (0xE8008016).khi cố gắng triển khai ứng dụng đầu tiên của mình lên một thiết bị chưa được bẻ khóa trên iOS 4.2.6 (Verizon). Vấn đề là, tôi không có Entitlements filetrong dự án của mình, vì tôi hoàn toàn không phân phối nó, chỉ đưa nó lên một thiết bị. Tôi đã trải qua tất cả các vòng và vòng táo đưa bạn qua (chứng chỉ, thiết bị, cung cấp) xuống thư và tôi không thể tìm ra điều gì đang xảy ra.

Bất cứ ai có thể xin vui lòng giúp tôi với vấn đề này?



15
Thật lạ, tôi có một downvote. Người đã làm điều này xin vui lòng giải thích?
Richard J. Ross III

Câu hỏi này thực sự giúp ích cho tôi vì hóa ra tôi đã có một tệp quyền lợi (và việc bạn đề cập đến nó khiến tôi nhận ra điều này). Xóa tham chiếu Build Settings > Code Signing > Code Signing Entitlementscho phép tôi xây dựng dự án này.
Geoff

Câu trả lời:


64

Bản thân tôi đã gặp phải vấn đề này, vấn đề là tôi đã có tệp Entitlements.plist trong dự án như một phần của bản phân phối ad hoc và thuộc tính get-task-allow (nghĩa là 'có thể được gỡ lỗi') được đặt thành NO - cài đặt này thành CÓ đã khắc phục sự cố và cho phép ứng dụng chạy từ Xcode4 trên thiết bị đang phát triển.

Đương nhiên cần phải đặt lại thành KHÔNG cho các bản phân phối ad hoc, nhưng chỉ cần nghĩ rằng tôi sẽ đề cập đến nó trong trường hợp có ai khác gặp phải vấn đề tương tự.


Cảm ơn - điều này cuối cùng đã khắc phục vấn đề của tôi.
EasyCoder

Cảm ơn bạn! Điều đó đã giết chết tôi.
alan

"Get-task-allow = NO" khiến ứng dụng của tôi thấy iCloud, khi được phân phối dưới dạng AdHoc ipa.
Tertium

7
Nhân tiện, kiểm tra xem bạn chỉ định chính xác danh tính dấu hiệu chính xác trong Target -> Build Settings , không phải trong Project . Mục tiêu ghi đè lên Dự án . Tôi đã quên điều này và nhận được thông báo lỗi 0xE8008016.
Tertium

Một điều nữa, nếu ứng dụng của bạn sử dụng 'iCloud Key-Value Store' trong các quyền lợi, bạn cần xóa khóa này cho phiên bản Gỡ lỗi. Nếu không, ứng dụng sẽ không chạy trên thiết bị của bạn và sẽ tiếp tục đưa ra lỗi này ngay cả khi bạn đã đặt 'get-task-allow' thành CÓ.
lạ lùng

50

Tôi gặp vấn đề này với Xcode 4.2.1.

Đối với tôi, nó không liên quan gì đến tập tin Entitlements hay Ad-hoc ...

Tôi đã trở lại và dự án cũ, và tôi đã quên thêm iPhone mới của mình vào điều khoản.

Lỗi ngớ ngẩn, nhưng cũng là một thông báo lỗi tương ứng ngớ ngẩn ...: - /


7
Sai lầm ngớ ngẩn mà rõ ràng cả hai chúng tôi đã làm.
Patrick Bassut

5
Tôi ước tôi có thể +2, thật là một thông báo lỗi vô lý cho vấn đề này. Tôi đã tìm kiếm hàng giờ vì nó không phải cho bài viết của bạn.
Wesley Smith

Cảm ơn đã chỉ ra nó, tôi cũng đã làm sai lầm ngớ ngẩn này. cuối cùng cũng được giải quyết.
Gaurav

44

Nếu bạn đang sử dụng phản ứng gốc, hãy đảm bảo rằng mục tiêu Kiểm tra có cùng cấu hình cung cấp như mục tiêu chính.


3
Cảm ơn rất nhiều, bạn đã cứu ngày của tôi
Julien Athomas

Bạn đã cứu thịt xông khói của tôi
Theo Bendixson

Cảm ơn bạn rất nhiều. Bạn đã cứu ngày của tôi. :)
pratik

Tôi đã như một giờ chiến đấu với điều này cho đến khi tôi thấy bình luận của bạn, cảm ơn !!
ivmos

Tôi đã chết ở bên trong cho đến khi tôi nhận được bình luận này.
Chó

29

Tôi đã gặp vấn đề này với các quyền lợi của iCloud. Vấn đề của tôi là tôi đã quên bật iCloud cho ID ứng dụng của mình trong Cổng thông tin cung cấp.

Sau khi bật iCloud cho ID ứng dụng của bạn, bạn sẽ cần tạo lại hồ sơ cung cấp.


1
Tôi đã có lỗi này xảy ra với tôi một lần nữa. Tôi cần thêm thiết bị mới của mình vào hồ sơ cung cấp phát triển, sau đó làm mới danh sách trong Xcode.
adjwilli

Có cùng một vấn đề. Điều này thật kỳ lạ, bởi vì ứng dụng này đã được kích hoạt và hoạt động để triển khai đặc biệt trước đây.
raeld

Tôi gặp vấn đề về quyền lợi liên quan đến iCloud, vì ứng dụng của tôi đang truy cập tài liệu iCloud. Tôi đã phải cập nhật các quyền lợi của iCloud trong phần Khả năng.
dùng3300864

20

Giữ tệp quyền lợi của bạn trong Mục tiêu> Cài đặt bản dựng> Ký mã> Quyền ký mã.

Chuyển đến Target> Capabilities. Chuyển đổi Bật / Tắt hoặc Tắt / Bật một trong các khả năng.

Chạy.


Điều này làm việc cho tôi. nhưng một lần nữa tôi phải chọn hồ sơ cung cấp trong trang cài đặt xây dựng.
Rinku

1
Điều này làm việc cho tôi. Tên miền liên kết đã được bật lên cho tôi. Tôi tắt nó đi và vấn đề đã được giải quyết.
BigRon

19

Điều làm việc với tôi là xóa hoàn toàn tệp quyền lợi, khỏi danh sách nhóm và khỏi Cài đặt bản dựng trong cả Dự án và Mục tiêu. Sau đó, tôi đã tạo lại các quyền lợi từ tab Tóm tắt trong mục tiêu và nó được tải tốt mà không có bất kỳ thông báo lỗi nào.


Như đã nêu ở trên, giá trị Quyền lợi cũng phải được xóa theo cách thủ công trong Cài đặt bản dựng
petershine

1
xóa tập tin quyền lợi và thêm nó một lần nữa làm việc cho tôi - tôi cũng đã làm sạch
Jasper

Đây là chìa khóa của tôi ở đây! Tôi đã kiểm tra cả Cài đặt xây dựng dự án và mục tiêu. Trong phần Ký mã, có cài đặt "Quyền ký mã" - Tôi đã mở rộng, tô sáng cả dòng gỡ lỗi và phát hành và nhấn phím Xóa. Điều này sau đó cho phép ứng dụng của tôi xây dựng mà không có bất kỳ lỗi nào. Tuy nhiên, nó vẫn không gỡ lỗi - nó ngay lập tức thoát ra với một thông báo trong bảng điều khiển, tôi sẽ phải tìm kiếm nó.
Jay Imerman

1
Điều này cũng hoạt động tốt khi cố gắng chạy ứng dụng "phù hợp" HealthKit cho iOS8 - có một chuỗi định danh bổ sung trong tệp quyền lợi. Việc gỡ bỏ nó cho phép dự án chạy sau khi làm theo các bước khác được đề cập trong chuỗi này
Alex Stone

Điều này đã khắc phục sự cố của tôi với iCloud. Có vẻ như có một vài cài đặt bổ sung trong tệp Entitlements không cần phải ở đó. Xóa chúng và tất cả và có tab Chung xây dựng lại nó hoạt động.
AndyDunn

15

Chỉ cần đặt 5 xu của tôi ở đây. Đối với tôi không có điều nào ở trên hoạt động, vì vậy tôi buộc phải căng thẳng và thực sự nhìn vào mọi phần của quá trình với đôi mắt tươi.

Trong lúc vội vã, tôi quên mất rằng tôi đang cố cài đặt ứng dụng của mình trên một thiết bị hoàn toàn mới.

Vì vậy, lỗi của tôi là tôi đã không cập nhật hồ sơ cung cấp của mình bằng cách đánh dấu vào thiết bị mới của tôi trong phần "Thiết bị" của thiết lập hồ sơ cung cấp trong Cổng thông tin cung cấp.

Rõ ràng không bao gồm thiết bị của bạn trong hồ sơ cung cấp cũng tạo ra thông báo lỗi này.


Đồng ý - nếu bạn không có hồ sơ cung cấp đúng, bạn có thể gặp lỗi này.
Matt

12

Không có câu trả lời nào trong số nhiều câu trả lời cho lỗi 0xE8008016 đối với tôi.

Nhưng khi tôi chọn "Cấp phép thiết bị tự động" trong Xcode 4> Trình tổ chức> Thiết bị> Cấu hình cung cấp, cuối cùng nó cũng hoạt động.


1
Đá đó! Làm việc cho tôi quá. Tôi nghĩ rằng đó là sự kết hợp của tất cả những điều trên, vì ứng dụng ban đầu được phát triển với XCode 3, sau đó được đưa lên 4.2, tôi đã xóa tệp Entitlements.plist khỏi dự án, xóa mục nhập ký kết mã trong Cài đặt / Mã xây dựng Phần ký, sau đó đặt hồ sơ cung cấp thành tự động. Đó là người cuối cùng đã làm điều đó.
Jay Imerman

Đây cũng là vấn đề của tôi, ngoại trừ việc nó tự động chọn hồ sơ cung cấp sai và bằng cách chọn thủ công, vấn đề đã được khắc phục.
Abhi Beckert

1
Điều đó đã làm nó cho tôi. Tôi không chắc chắn làm thế nào một vài hồ sơ cung cấp Nhóm phát triển iOS đã bị xóa nhưng nhấp vào làm mới trong trang Cấu hình cung cấp mà bạn đề cập để giải quyết lỗi này cho tôi.
sean808080

11

Trong trường hợp của tôi đó là một sai lầm ngu ngốc. Tôi đặt không chính xác lược đồ "Chạy" để sử dụng cấu hình bản dựng "Phân phối" thay vì cấu hình "Gỡ lỗi" hoặc "Phát hành". Sai lầm ngu ngốc, nhưng phải mất một thời gian để gỡ lỗi, vì vậy tôi sẽ thêm câu trả lời của mình để cải thiện nền tảng kiến ​​thức bên trong ngăn xếp tràn!


10

Xóa hồ sơ cung cấp của bạn, thực hiện 'Làm sạch tất cả', đảm bảo rằng cài đặt cung cấp của bạn là chính xác, tải xuống lại và thử chạy lại.


Phiên bản Xcode nào bạn đang sử dụng? Nếu là 4.0, đã có vấn đề với điều này. Bạn có thể phải khởi động lại Xcode hoặc thậm chí khởi động lại máy Mac của mình. Đảm bảo rằng các cài đặt cung cấp là đúng trong cả dự án và mục tiêu. Cài đặt mục tiêu được ưu tiên hơn Dự án mặc dù.
W Dyson

Tôi nghĩ đó là vấn đề với thiết bị, đó là iPhone 4 của Verizon và với cùng một hồ sơ cung cấp, tôi có thể triển khai một ứng dụng cho iPad của mình .. có ai khác gặp vấn đề này với iPhone 4 từ Verizon không?
Richard J. Ross III

Bạn đang sử dụng một hồ sơ cung cấp cũ? Bạn phải thêm iPhone Verizon làm thiết bị trong Cổng thông tin cung cấp và sau đó cập nhật hồ sơ phát triển, tải xuống lại và cài đặt lại cấu hình mới. Nếu điều này không hiệu quả, bạn sẽ phải cung cấp thêm thông tin.
W Dyson

Tôi mới thiết lập hồ sơ cung cấp ngày hôm qua, làm thế nào nó có thể cũ? apple chỉ phê chuẩn yêu cầu nhà phát triển của tôi, vì vậy đó là thương hiệu mới. Dù sao đi nữa, tôi sẽ thấy nó hoạt động như thế nào khi chúng tôi cập nhật lên iOS 4.3.
Richard J. Ross III

Một "sạch" đã làm điều đó cho tôi. -_-
Cœur

5
  1. Mở Portal Cổng thông tin cung cấp iOS 'trong Safari.
  2. Nhấn 'Thiết bị' trong thanh bên.
  3. Đăng ký UDID thiết bị của bạn
  4. Nhấn vào 'Hồ sơ cung cấp'
  5. Chỉnh sửa hồ sơ ứng dụng của bạn.
  6. Chọn thiết bị bạn vừa thêm.
  7. Tải xuống tệp .mobileprovision.
  8. Cài đặt nó.
  9. Xây dựng lại.

4

Tôi gặp vấn đề tương tự trong ứng dụng của mình, sau vài tháng ứng dụng cụ thể này hoạt động tốt.

Vấn đề là các Khả năng được định cấu hình trong dự án Xcode của tôi (trong Mục tiêu -> {ProjectName} -> Khả năng) không giống với Khả năng được định cấu hình trong hồ sơ cung cấp (bạn có thể kiểm tra xem trong trung tâm thành viên của Apple trong Mã định danh -> Ứng dụng Id -> {ID ứng dụng của bạn}. Trong trung tâm thành viên tôi thấy Game Center được bật và vì vậy trong dự án của tôi, tôi cũng đã bật Game Center. Sau đó, ứng dụng có thể khởi chạy.

Tôi không biết làm thế nào nó hoạt động cho đến bây giờ. Đó vẫn là một bí ẩn :)


Bây giờ tôi nhận ra rằng thông báo đẩy không hoạt động nữa. Tôi đã loại bỏ các khả năng của trung tâm trò chơi trong Xcode. Ứng dụng hiện đang chạy, nhưng thông báo đẩy sẽ không còn nữa. Có ai biết tại sao không?
bobsacameno 23/1/2015

4

Đối với tôi, hãy kiểm tra tùy chọn "Tự động quản lý ký" trong Target giải quyết vấn đề!



3

Nếu bạn không thay đổi bất cứ điều gì liên quan đến chứng chỉ (không thay thế hoặc cập nhật chúng), hãy thực hiện a Product -> Clean. Nó đã giúp tôi nhiều lần. (Xcode 6.2)


2

Nâng cấp lên XCode 4 đã khắc phục sự cố.


1
Có vẻ như không phải là sự cố cụ thể của phiên bản XCode, vì tôi đã gặp lỗi trong XCode 7.3.1. Phải xóa hồ sơ cung cấp và tải lại tương tự từ các tùy chọn XCode để giải quyết vấn đề.
Ian Pinto

@IanPinto Tôi đồng ý. Lý do chính đây là câu trả lời được chấp nhận là bởi vì đây là những gì làm việc cho tôi . Nó không thực sự là thông tin siêu hữu ích nữa và tôi đã đưa ra hầu hết các câu trả lời khác trong bài đăng này, vì tất cả chúng đều chứa thông tin siêu có giá trị cho những người nhìn vào điều này trong tương lai. Điểm hay của việc tự trả lời trên SO là chúng không tự động được đẩy lên đầu ngăn xếp, vì vậy, không nhiều người sẽ thấy câu trả lời này, dù sao đi nữa :)
Richard J. Ross III

2

Tôi gặp phải vấn đề này ngày hôm nay và tôi đang nhổ tóc ra để cố gắng tìm ra nó. Giống như nhiều người ở đây, nó sẽ hoạt động nếu tôi xóa các tùy chọn iCloud trong tệp quyền lợi của mình. Khi tôi gỡ lỗi ứng dụng với các tùy chọn iCloud được bật thì tôi sẽ gặp lỗi 0xe8008016. Điều này là ngay sau khi thu hồi và tái tạo chứng chỉ mới.

Vì vậy, điều giải quyết nó cho tôi là bật hỗ trợ iCloud cho hồ sơ nhóm Xcode được tạo tự động. Đăng nhập vào công cụ cung cấp trực tuyến, đi đến App IDs, nhấp vào Xcode iOS Wildcard App ID, nhấp vào edit, bật iCloud bằng cách chọn hộp kiểm và cuối cùng nhấp vào Done. Làm mới hồ sơ của bạn trong Xcode và sau đó nó sẽ bắt đầu hoạt động.

Điều này có ý nghĩa - khi bạn gỡ lỗi, nó mặc định là hồ sơ nhóm và hồ sơ nhóm cần phải bật iCloud.


1
ĐÚNG! Đó là vấn đề của tôi và việc bật iCloud trên Tất cả ID ứng dụng đã thực hiện thủ thuật này. Cảm ơn rất nhiều
Guy Moreillon

2

Đã xảy ra với tôi khi tôi đang cố gắng sử dụng hồ sơ cung cấp phân phối cửa hàng ứng dụng để kiểm tra cục bộ do nhầm lẫn. Khi tôi sử dụng hồ sơ phát triển phù hợp, nó hoạt động tốt. Có lẽ điều này cũng giúp ai đó.


Tôi có thể làm gì nếu tôi muốn kiểm tra hồ sơ của ứng dụng đã được tải lên App Store? Có cách nào để làm vậy không?
bobsacameno

2

Điều này làm việc cho tôi ...

  1. Tôi đã xóa các Entitlementstập tin từ target.
  2. Đã xóa ứng dụng khỏi tất cả các thiết bị của tôi
  3. Cleaned bản dựng trong Xcode
  4. * tùy chọn xóa hồ sơ cung cấp và thêm lại nó

Hy vọng nó cũng hiệu quả với các bạn :)


đã xóa tệp Entitlements khỏi mục tiêu, hoạt động với tôi. Nhưng đừng nếu đây là cách tốt nhất để làm điều đó.
YuAn Shaolin Maculelê Lai

2

Đây là điều đã giải quyết vấn đề của tôi: Xóa đường dẫn trong phần Quyền lợi ký mã trong cài đặt xây dựng mục tiêu.


Xin vui lòng giải thích 'làm thế nào để'?
Đặc vụ Zebra

@AgentZebra Nhấp vào tệp Dự án chính> chọn ứng dụng của bạn từ "Mục tiêu"> Cài đặt bản dựng> Ký tên> Quyền ký mã, xóa giá trị hiển thị ở đó.
weienw

2

Hồ sơ cung cấp của tôi từ nhà phát triển Apple phù hợp với khả năng Xcode của tôi nhưng nó vẫn không được xây dựng trên thiết bị của tôi cho đến khi tôi thực hiện như sau:

  1. Xóa / xóa tệp quyền lợi khỏi dự án Xcode của bạn.

  2. Quay trở lại tab khả năng Xcode

  3. Nhấn nút "Khắc phục sự cố" để lấy Xcode để thêm lại tệp quyền lợi.

Làm việc cho tôi, hy vọng nó sẽ giúp được ai đó.


2

Xảy ra với tôi trên Xcode 8, một phần là do Provisioning Profilecài đặt bản dựng mới , vì trong phiên bản Xcode này có hai mục để cung cấp hồ sơ:

  • Hồ sơ cung cấp
  • Hồ sơ cung cấp (không dùng nữa)

Lỗi của tôi là tôi chỉ cập nhật cái đầu tiên và mục không dùng nữa vẫn chỉ vào hồ sơ cung cấp không hợp lệ. Thay đổi cả hai thành cùng một giá trị đã giải quyết vấn đề (xóa mục không dùng nữa cũng sẽ có tác dụng tương tự).


1

Trong trường hợp của tôi, có vẻ như Xcode (bí mật) đặt lại Lược đồ. Tôi thấy rằng cấu hình bản dựng cho Lưu trữ được đặt thành Bản phát hành thay vì bản phân phối và sau khi tôi thay đổi thành bản chính xác, nó đã hoạt động.

Tôi nghĩ tốt hơn là kiểm tra các Lược đồ cũng như cài đặt bản dựng.


1

Tôi đã có dự án cũ và cùng một vấn đề và tôi đã giải quyết.


1.Đi tới tóm tắt 2.Summary có các nhóm móc khóa và xóa đối tượng của nhóm keychanin.

Tôi hy vọng nó sẽ làm việc cho bạn. Trân trọng.


1

Tôi đang sử dụng xcode 6 và gặp phải sự cố này đối với một iphone 4 cụ thể

cuối cùng, tôi vào thiết bị => hồ sơ cung cấp =>

và sau đó thêm hồ sơ bằng tay và vấn đề được khắc phục.


1

Đối với tôi trong Xcode 5.1 tôi đã nhận được The entitlements specified in your application’s Code Signing Entitlements file do not match those specified in your provisioning profile.khi thử kiểm tra ứng dụng trên thiết bị của mình. Giấy chứng nhận phát triển thiết bị phải hết hạn vào tháng 2 năm 2015.

Vấn đề đã được giải quyết:

Được chọn Target->Capabilities, trong GameCenter, ở đây tôi đã gặp lỗi về quyền lợi của GameCenter vì nó không được thêm vào dự án, mặc dù phiên bản đầu tiên của ứng dụng đã được phát hành qua cùng XCode 5.1 nhưng không có lỗi như thế này trước đây.

Dưới đây, một nút đã được đưa ra với tiêu đề Fix Issue. Khi nhấp vào nó đã thêm quyền lợi GameCenter và vấn đề đã được giải quyết.

Sau khi phường, màn hình trông như sau:

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

Đối với tôi, không có gì để làm với chứng chỉ. Ứng dụng hiện chạy thành công trên thiết bị.


1

Một vấn đề tiềm ẩn nữa sẽ đưa ra thông báo lỗi này: Nếu bạn đang sử dụng hồ sơ cung cấp hoàn toàn hợp lệ cho ứng dụng chính của mình, nhưng có hồ sơ cung cấp hết hạn hoặc không hợp lệ cho tiện ích mở rộng tiện ích hôm nay của bạn. Tôi tưởng tượng nó cũng giống với một phần mở rộng đồng hồ của Apple.

Kiểm tra tất cả các hồ sơ!


1

Kiểm tra quyền truy cập KeyChain!

Trong trường hợp của tôi, tôi đã sử dụng chứng chỉ phân phối sai liên quan đến hồ sơ cung cấp.


1

Mã tôi đang làm việc có một gói khác trong Info-plist so với Product Bundle Identifiercài đặt bản dựng.

Tôi tìm thấy điều này bởi vì tôi nhận thấy thông báo này trong bảng điều khiển thiết bị trong chế độ xem thiết bị:

MIS: entitlement 'application-identifier' has value not permitted by provisioning profile 'iOS Team Provisioning Profile: com.xxx.yyy'


0

Nếu bạn đang cố gắng kích hoạt đồng bộ hóa iCloud, bạn sẽ cần bật iCloud cho AppID được sử dụng để tạo hồ sơ cung cấp phát triển (Xcode tự động thực hiện). Bạn cũng sẽ cần phải kích hoạt điều này cho hồ sơ phân phối.

Phần khó khăn là khi bạn làm mới các cấu hình trong Xcode, điều này không kích hoạt việc gia hạn các cấu hình; chúng chỉ đơn giản là được tải xuống lại. Vì vậy, trong Cổng cung cấp iOS của bạn trong Cấp phép / Phát triển, bạn sẽ cần kiểm tra cấu hình được gắn nhãn (Được quản lý bởi Xcode) và xóa nó (Xóa nút đã chọn). Làm điều này cho TẤT CẢ hồ sơ, phát triển và phân phối, mà bạn cần phải tạo lại.

Bây giờ, trong Xcode trong Trình tổ chức, xóa các hồ sơ cung cấp mà bạn sắp thay thế.

Bây giờ để có được những cái mới. Nếu bạn phát triển cho nhiều nhóm và chỉ muốn làm mới một nhóm cụ thể, hãy chọn Nhóm thích hợp trong khung bên trái trong TEAM, nếu không, chọn Cung cấp Hồ sơ trong THƯ VIỆN, sau đó chọn Làm mới.

Cuối cùng, xóa mọi cấu hình cung cấp cũ trên thiết bị của bạn có thể xung đột với các cấu hình mới vì các cấu hình không bao giờ bị xóa tự động; hồ sơ mới hơn chỉ đơn giản là được thêm vào danh sách.

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.