Tệp thực thi được ký bằng các quyền không hợp lệ trong Xcode


113

Tôi gặp lỗi này với Xcode 5 khi cố chạy ứng dụng trên thiết bị của mình.

Tệp thực thi đã được ký với quyền không hợp lệ

Nó hoạt động tốt với Xcode 4.x. Bất cứ ai biết làm thế nào để thoát khỏi lỗi?

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


Tôi có Xcode 8.3.3 và câu trả lời này thực sự đã làm nó cho tôi: stackoverflow.com/a/40464055/4177294
Nuno MSB

Câu trả lời:


102

Tôi đã vật lộn với vấn đề này trong một giờ và cuối cùng đã tìm ra cách khắc phục. Hóa ra Nhóm phát triển khác nhau trong ProjectTarget và ProjectTests.


13
Cám ơn rất nhiều! Điều này chỉ giúp tôi ra ngoài và tiết kiệm rất nhiều thời gian!
Marky

Chà! Cảm ơn @Krish
Kqtr 14/09/18

bạn ạ, chỉ cần lưu thứ năm của tôi, không thể cảm ơn đủ
Samer Murad

Tôi có thể tìm ProjectTarget và ProjectTests ở đâu?
Pablo

Ah! Tìm thấy rồi! ngày này và nó chỉ là thiết lập này! ??
Pablo

77

Khởi động lại Xcode là những gì đã làm việc cho tôi.


15
Vì vậy, Xcode đã thông qua bản sửa lỗi chung của Microsoft. ;) Đối với bản ghi, đây vẫn là một vấn đề và khởi động lại vẫn là cách khắc phục (Tôi đang sử dụng v7.3.1).
Eric Soyke

3
+1 khác, đối mặt với vấn đề này một lần nữa, sau đó google nó, tôi đã hạ cánh ở đây.
jayellos

Sau giờ kiểm tra từng chi tiết ... này làm việc trong XCode 8
Matej Ukmar

Có ai có một giải pháp vững chắc cho vấn đề này không !!!!, Tất cả những giải pháp này trông giống như một số giải pháp tình huống. Xin vui lòng giúp đỡ.
Tối đa

Trên thực tế làm cho đội ngũ phát triển dự án và dự án nhóm phát triển thử nghiệm cùng làm việc cho tôi
Tahmid Rahman

35

Tôi đã tìm ra vấn đề. Ứng dụng tôi đã tạo trên developer.apple.com không bao gồm âm thanh liên ứng dụng. Dự án cho phép tệp plist trên Xcode có liên ứng dụng-âm thanh được đặt thành CÓ (theo mặc định). Sau khi tôi thay đổi cài đặt trên cấu hình ứng dụng của mình trên developer.apple.com để bật âm thanh giữa các ứng dụng. Sau đó, ứng dụng của tôi chạy trên các thiết bị của tôi. Tôi đoán đó là quy tắc mới của apple để làm cho cài đặt ứng dụng của bạn nhất quán trên cả developer.apple.com và cài đặt dự án xcode của bạn.


10
Tôi đã bật chức năng Âm thanh liên ứng dụng thành BẬT rồi lại TẮT, và theo cách này, ứng dụng đã hoạt động ... WT *?
Ferran Maylinch

Wow, không thể tin được. Vẫn là một bản sửa lỗi có thể áp dụng, mặc dù đối với tôi đó là khả năng Nhóm ứng dụng.
Keller

Ở đây cũng vậy! Nó siêu kỳ lạ. Tôi đoán bạn có thể chuyển đổi bất kỳ khả năng nào để khắc phục nó.
Andre Simon

Đã thử mọi thứ vẫn gặp phải vấn đề tương tự !, bất kỳ đề xuất nào
Tối đa

24

Tôi có thể khắc phục sự cố này bằng cách bật / tắt quyền "Game Center" trong Xcode 5 :-)


5
CẢM ƠN BẠN! Bạn không biết tôi đã thất vọng như thế nào cả sáng nay cho đến khi tôi vấp phải câu trả lời của bạn. Chắc chắn đã sửa nó cho tôi.
Gasper Kolenc

1
Xin lưu ý rằng Xcode sẽ tạo hồ sơ cấp phép cho bạn và làm mất hiệu lực hồ sơ cấp phép tạo tùy chỉnh của bạn.
Van Du Tran

@VanDuTran không, nó sẽ không.
Nik

Điều này xảy ra trong ứng dụng Xamarin cũng như trong Visual Studio dành cho mac. Vì vậy, nó không chỉ bị cô lập với Xcode.
Dan Beaulieu

19

Không có giải pháp nào phù hợp với tôi cho đến khi tôi đã kiểm tra và đặt mục tiêu Kiểm tra ứng dụng thành cùng một cấu hình cấp phép như ứng dụng chính. Hoặc nếu bạn đang sử dụng tính năng hát tự động, hãy đảm bảo rằng bạn đã chọn cùng một nhóm trong mục tiêu Thử nghiệm.


Điểm rất tốt, điều này xảy ra khi bạn thay đổi nhóm của mình trong mục tiêu chính nhưng không phải trong mục tiêu thử nghiệm. Thay đổi nhóm trong mục tiêu thử nghiệm thành nhóm trong mục tiêu chính, đã giải quyết được vấn đề cho tôi.
dan

Cảm ơn!! Đây là những gì cuối cùng đã sửa nó cho tôi. Quyền lợi là một con cá trích đỏ.
Reid

19

Đối với XCode 10, người ta có thể cần sử dụng hệ thống xây dựng kế thừa

Thay đổi có thể được thực hiện từ Cài đặt Tệp / Dự án. LỖI ITMS-90174: "Thiếu hồ sơ cấp phép - Ứng dụng iOS phải chứa hồ sơ cấp phép trong tệp có tên nhúng.mobileprovision."

Thông báo về dây / ion: https://github.com/apache/cordova-ios/issues/407


1
muốn thêm cho người dùng Cordova / Ionic rằng bạn cũng có thể cần thay đổi dự án Xcode đã tạo của mình để sử dụng chế độ kế thừa bằng cách "Cài đặt tệp> Dự án / không gian làm việc" và thay đổi nó thành hệ thống Xây dựng kế thừa "như chi tiết tại đây: stackoverflow.com/a / 52605878/2503520
Vyrnach

12

Giải pháp cho Xcode mới nhất :

Trước tiên, bạn phải kiểm tra những gì được bật trong Trung tâm thành viên cho AppID cụ thể của bạn :

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

Sau đó, trong mục tiêu thích hợp của bạn trong Xcode bạn phải kích hoạt những khả năng giống nhau: Trong trường hợp này: App Group, Game Center, In-App Purchase. Tất cả chúng phải được kích hoạt trong mục tiêu của bạn trong Xcode.

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

Tuy nhiên, nó không thành vấn đề đối với chế độ GỬI :

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

nó rất quan trọng đối với chế độ RELEASE của bạn : nhập mô tả hình ảnh ở đây

Lưu ý rằng Game CenterIn-App Purchaseđược bật theo mặc định trong Trung tâm thành viên nhưng bị tắt trong mục tiêu của Xcode.


3
Có thể xóa trung tâm trò chơi và mua hàng trong ứng dụng khỏi developer.apple.com không?
Noitidart

11

Tôi nghĩ vấn đề của bạn nằm ở hồ sơ mà bạn đang sử dụng xCode4.6 và bây giờ bạn đang sử dụng xCode5.

Bạn cần làm mới chứng chỉ / hồ sơ cấp phép qua XCode> Tùy chọn> Tài khoản

XCode> Tùy chọn> Tài khoản> Nhấp vào TÀI KHOẢN DEV của bạn> nút Xem chi tiết (dưới cùng bên phải)> Màn hình Iden / PPs ký xuất hiện> nhấn Làm mới.

Sau đó, chọn lại từ cài đặt xây dựng hồ sơ chính xác và làm sạch và xây dựng dự án của bạn.

Hy vọng điều này sẽ giúp bạn.


1
Cảm ơn bạn đã giúp đỡ. Tôi đã tìm ra vấn đề. Ứng dụng tôi đã tạo trên developer.apple.com không bao gồm âm thanh giữa các ứng dụng. Dự án cho phép tệp plist trên Xcode có liên ứng dụng-âm thanh được đặt thành CÓ (theo mặc định). Sau khi tôi thay đổi cài đặt trên cấu hình ứng dụng của mình trên developer.apple.com để bật âm thanh giữa các ứng dụng. Sau đó, ứng dụng của tôi chạy trên các thiết bị của tôi. Tôi đoán đó là quy tắc mới của apple để làm cho cài đặt ứng dụng của bạn nhất quán trên cả developer.apple.com và cài đặt dự án xcode của bạn.
Emmy

6

Tôi phải phù hợp với khả năng của ứng dụng trong Xcode5 dưới

Capabilities -> 
In-App purchase -> ON
Game Center -> ON

với điều đó trong hồ sơ cung cấp.


Ngoài ra nó còn giải quyết được phản hồi lỗi "Mã thông báo không hợp lệ" của các APN.
hiroshi

thêm quyền của trung tâm trò chơi và xóa nó trở lại, cũng có tác dụng với tôi. Không biết tại sao.
Rukshan Marapana

5

xcode 6.1 (mẫu HealthKit)

Tôi gặp lỗi này do tích hợp HealthKit: Tôi đã bật tính năng Mua trong ứng dụng, Game Center và Healkit đã giải quyết được sự cố của mình .. Tôi cũng đã bật tính năng này trong hồ sơ Cung cấp.

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

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


Phải làm tương tự để chia sẻ keychain. Tôi cũng đã có một tiện ích mở rộng ứng dụng, tôi phải làm điều đó ở cả hai nơi để nó hoạt động.
CaseyB

5

(Xcode 6.1)

Vấn đề đối với tôi là trong Cài đặt bản dựng của tôi; Tôi đã đặt Hồ sơ cấp phép thành Hồ sơ sản xuất trên App Store khi cố gắng triển khai cho một thiết bị. Tôi đã chuyển nó thành 'Tự động' và nó đã giải quyết được sự cố của tôi. Bạn cũng có thể đặt nó thành Hồ sơ cung cấp cho nhà phát triển của mình.

Tôi cũng có 2 Chứng chỉ, vì vậy tôi đã thêm Chứng chỉ thứ hai vào điều khoản dành cho nhà phát triển của mình. Những người khác có lẽ sẽ không gặp vấn đề này.


Cảm ơn! Chuyển đổi nó để 'tự động' đã làm nó cho tôi
Emastmagy MastMagy

Kỳ lạ là việc thay đổi thành tự động đã sửa nó, nhưng nó hiệu quả với tôi. Tôi đã đặt hồ sơ cấp phép của mình thành com.mycompany. * Và gặp lỗi này. Có FixMe màu đỏ trong tab Khả năng, nhưng sau khi khắc phục các vấn đề đó, tôi vẫn nhận được lỗi quyền lợi không hợp lệ. Sau đó, tôi đã thử thay đổi hồ sơ cấp phép của mình từ com.mycompany. * Thành tự động và nó đã khắc phục được sự cố. Tôi đã kiểm tra kỹ lưỡng thì chắc chắn rằng packID là com.mycompany.blabla, vì vậy có vẻ là một số loại lỗi Xcode. Tôi đang sử dụng Xcode 6.3.2.
Jim Range

5

Tôi đã gặp sự cố tương tự khi cập nhật lên Xcode 10, tôi đã giải quyết được sự cố khi đi tới Tệp> Cài đặt dự án, trong tùy chọn "Hệ thống xây dựng mới", hãy chọn "Hệ thống xây dựng kế thừa". Điều này thực hiện thủ thuật cho tôi, tôi hy vọng điều này sẽ giúp ích cho ai đó.


4

Clean-and-build đơn giản dường như đã khắc phục được điều đó cho tôi.


Đây cũng là một sửa chữa cho tôi.
Enijar

4

Nếu vấn đề này giống tôi. Bạn có thể quên thiết lập nhóm thống nhất trong dự án mục tiêu của bạn, hãy thử làm bức ảnh này

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


3

Tôi giải quyết vấn đề này bằng cách xóa tất cả "PROVISIONING_PROFILE=...""PROVISIONING_PROFILE[sdk=iphoneos*]" = ...trong project.pbxproj và khởi động lại Xcode và đặt lại cấu hình cấp phép cho mục tiêu.


3

Nếu việc khởi động lại xcode không hoạt động, hãy tạo một hồ sơ cung cấp mới và đảm bảo bao gồm các thiết bị thử nghiệm của bạn.


Khởi động lại / dọn dẹp không hiệu quả với tôi, nhưng sau đó tôi nhận ra rằng tôi chưa thêm điện thoại thử nghiệm mới của mình vào hồ sơ Ad Hoc mà tôi đang sử dụng để xây dựng. Tôi đã tạo lại / tải xuống hồ sơ cập nhật và lỗi đã biến mất. Lưu ý: bạn có thể gặp lỗi "bảo mật" sau khi thực hiện việc này, có nghĩa là thiết bị cần bạn cấp quyền cho ứng dụng, chỉ cần chạm vào ứng dụng trên thiết bị để kích hoạt cảnh báo "nhà phát triển tin cậy".
SafeFastExpressive

3

Trong trường hợp của tôi, thiết bị không được thêm vào. Vì vậy, tôi phải thêm thiết bị và tạo hồ sơ cấp phép mới.


3

Một điều khác cần kiểm tra - đảm bảo rằng bạn đã chọn đúng đối tượng trong cả hai

Mục tiêu -> Mục tiêu của bạn -> Cài đặt xây dựng -> Ký kết

Dự án -> Dự án của bạn -> Cài đặt bản dựng -> Pháp nhân ký mã

Tôi nhận được thông báo này khi tôi đã chọn hồ sơ nhà phát triển đầy đủ trong một và một ID Apple (không phải nhà phát triển) khác được chọn trong cái kia, ngay cả khi không có quyền nào được yêu cầu trong ứng dụng.


2

Có vẻ như đó là một lỗi nhỏ bên trong Xcode. Cố gắng lưu trữ nó bằng mọi cách, ngay cả khi có vấn đề với entitlements. Nếu quyền lợi của bạn vẫn ổn, nó sẽ được tải lên mà không có vấn đề gì. Apple chấp nhận nó và ứng dụng của bạn sẽ được xuất bản lên AppStore.

Tôi đã làm nó, và nó hoạt động :)



1

Tôi đã gặp vấn đề tương tự trong XCode 5. Điều này đã giúp tôi.

XCode > Preferences > Location tab > DerivedData

Nhấn một chút mũi tên trái để mở DerivedData trong Finder. Di chuyển vào thư mục thùng rác của dự án của bạn và xây dựng lại.

Ảnh chụp màn hình


Tôi đoán nên có lý do thích hợp về lý do tại sao xóa dữ liệu có nguồn gốc sẽ giải quyết được vấn đề.
Kavita

1

Có một số vấn đề. Giải quyết: đi đến đúng mục tiêu -> khả năng -> đối với tôi, có sự cố với "Mua trong ứng dụng" và nút để khắc phục sự cố. Đã khắc phục sự cố hoạt động tắt.


1

Trong trường hợp của tôi: Tôi cần bật Âm thanh liên ứng dụng trong

Capabilities -> Inter-App Audio

Tôi nghĩ vì tôi sử dụng Parse.com Notification nên nó cần liên kết đến AudioToolbox.framework


1

Bật khả năng -> Âm thanh liên ứng dụng cũng đã khắc phục sự cố này cho tôi. Tôi cũng đang cố gắng gửi thông báo đẩy thông qua phân tích cú pháp


1

Các câu trả lời ở đây có vẻ hơi không đủ, vì vậy tôi đang thêm hai xu của mình:

Giải pháp thực sự là thường có sự không khớp giữa những gì được lưu trữ trong hồ sơ cấp phép của bạn (kiểm tra tại developer.apple.com -> thành viên -> chứng chỉ -> chứng chỉ bạn đang sử dụng [hãy nhớ kiểm tra xem dev / production) và những gì được bật trong ứng dụng của bạn (nhấp đúp vào tên dự án), trong menu ngang, hãy chọn 'Khả năng' (bên cạnh 'Chung').

Nếu gần đây bạn đã thay đổi một trong các chứng chỉ này, hãy đảm bảo làm mới chứng chỉ của bạn trong XCode -> Preferences -> Accounts -> Details -> Refresh Icon và khởi động lại XCode.


1

Trong trường hợp của tôi, chứng chỉ APNS đã hết hạn, hãy xóa chứng chỉ đã hết hạn và tạo lại hồ sơ cấp phép để khắc phục sự cố.


1

Trong trường hợp của tôi, tôi phải chấp nhận Thỏa thuận cấp phép nhà phát triển của Apple.

Đăng nhập vào tài khoản nhà phát triển apple và quan sát thông báo tương tự như bên dưới.

"Thỏa thuận Cấp phép Chương trình Nhà phát triển của Apple đã được cập nhật. Để truy cập các tài nguyên thành viên nhất định, **** phải chấp nhận thỏa thuận cấp phép mới nhất trước ngày 28 tháng 6 năm 2016."

Trước đó, tôi không thể thêm / chỉnh sửa Vùng chứa iCloud vào ID ứng dụng mặc dù tôi đã thay đổi / kiểm tra Khả năng, Hồ sơ cấp phép, Chứng chỉ, v.v. Sau khi đồng ý với hợp đồng, mọi thứ bắt đầu hoạt động trơn tru.

Hy vọng rằng, nó sẽ tiết kiệm thời gian quý giá của ai đó.


1

Tôi đã gặp chính xác vấn đề tương tự gần đây. Sau khi đọc nhiều lời khuyên khác nhau mà không có lời khuyên nào phù hợp với tôi, cuối cùng tôi đã tìm ra nguyên nhân gốc rễ của vấn đề.

Tệp cấp phép di động thực sự KHÔNG khớp với tệp Tiện ích được tạo bởi Xcode.

Mặc dù tất cả các tập tin đều được công cụ Apple tự động mã hóa, nhưng chúng không chính xác.

Nếu bạn tải xuống tệp cấp phép từ cổng Apple và mở nó (bạn có thể mở nó vì nó chỉ là tệp plist được chứng chỉ của bạn ký, vì vậy nó có thể đọc được bằng trình soạn thảo văn bản) và so sánh nó với tệp Entitlements của bạn (được tạo tự động bởi Xcode và nằm trong tệp dự án (vì vậy nó lại là tệp XML plist có thể đọc được bằng trình soạn thảo văn bản). Sau đó, bạn có thể thấy sự khác biệt.

Trong trường hợp của tôi, đó là quyền của Game Center. Nó được hiển thị trên cổng thông tin dưới dạng đã chọn (được kiểm tra theo mặc định) nhưng thực tế quyền này không được bao gồm trong tệp cấp phép di động. Vì vậy, vấn đề là xóa nó khỏi tệp Entitlements.

Vì vậy, kết quả là - nội dung của hồ sơ cấp phép di động đôi khi không khớp với những gì được hiển thị trên trang cấu hình APP ID.


1

Đối với những người gặp vấn đề tương tự với Cấu hình cấp phép Tự động trong Cài đặt bản dựng mục tiêu:

Hãy rất cẩn thận khi bạn chỉnh sửa tệp các quyền mục tiêu của mình! Điều này có thể phá vỡ sự tương ứng với cấu hình cấp phép được tạo tự động và bạn sẽ gặp lỗi này.

Trong trường hợp của tôi, tôi đã phải sử dụng tạm thời các thùng chứa sản xuất iCloud với các bản dựng gỡ lỗi. Để làm như vậy, tôi đã chèn

<key>com.apple.developer.icloud-container-environment</key>
<string>Production</string>  

trong tệp các quyền và điều này đã hoạt động!
Để nhắc nhở tôi rằng sau này tôi phải xóa những dòng này, tôi chỉ cần chèn thêm chú thích sau:

<key>TODO</key>
<string>The entry below must be out commented or deleted to use the iCloud development environment.</string>  

điều này đã phá vỡ sự tương ứng và tạo ra lỗi .


Hồ sơ quyền được đặt ở đâu?
Noitidart

Nó nằm trong thư mục dự án của bạn và được gọi là "yourProject.entitlements". Bạn có thể tìm thấy nó trong trình điều hướng dự án của Xcode.
Reinhard Männer

Cảm ơn. Có vẻ như nó đã không được tạo cho đến khi tôi chọn rồi bỏ chọn "âm thanh liên ứng dụng". Tôi có trung tâm trò chơi và mua ứng dụng trên developer.apple.com nhưng tôi không sử dụng nó, đây là các giá trị mặc định. Vì vậy, tôi đã đánh dấu khả năng của mình trong xcode là "bật" nhưng không có vấn đề gì tôi vẫn nhận được "Tệp thực thi đã được ký bằng các quyền không hợp lệ." lỗi. :(
Noitidart

1

Tôi đang sử dụng Thông báo đẩy trong ứng dụng của mình và sau khi phát triển xong, tôi đã cố gắng kiểm tra thông báo đẩy cho cấu hình phát hành . Tại thời điểm đó tôi gặp lỗi này.

Tôi đang sử dụng Hồ sơ cấp phép sản xuất để chạy cho bản phát hành . Vì vậy, tôi đã có thể giải quyết lỗi này bằng cách sử dụng Hồ sơ cấp phép Adhoc .

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.