Không tìm thấy chuỗi quyền 'aps-environment' hợp lệ cho ứng dụng trên cửa hàng ứng dụng


103

Vì vậy, tôi có ứng dụng này có tên Dripper mà tôi đã đưa ra khoảng một tháng trước và sau đó là bản cập nhật vài ngày trước. Bản cập nhật đã thêm thông báo đẩy và một vài chỉnh sửa nhỏ. Tôi đã thử nghiệm nó với sandbox-apn bằng cách sử dụng hồ sơ phát triển và mọi thứ hoạt động tốt. Sau đó, tôi chuyển mọi thứ sang apn sản xuất và đẩy nó sang bay thử nghiệm, mọi thứ lại hoạt động hoàn hảo. Khi tôi đưa bản cập nhật lên thị trường và chạy nó, tôi nhận thấy rằng tôi không nhận được bất kỳ đăng ký đẩy mới nào trên máy chủ. Tôi đã xem nhật ký bảng điều khiển cho thiết bị và thấy điều này:

4 tháng 12 17:55:15 Ina-touch-it coffco [1210]: Đăng ký nhận thông báo từ xa
4 tháng 12 17:55:15 Ina-touch-it SpringBoard [52]: Không tìm thấy chuỗi quyền 'aps-environment' hợp lệ cho ứng dụng 'Dripper': (null). Thông báo sẽ không được gửi.
4 tháng 12 17:55:15 Ina-touch-it coffco [1210]<Warning>: Failed to register with error : Error Domain=NSCocoaErrorDomain Code=3000 "no valid 'aps-environment' entitlement string found for application" UserInfo=0x174270900 {NSLocalizedDescription=no valid 'aps-environment' entitlement string found for application}

Tôi hơi bối rối vì tôi nghĩ rằng production-apn sẽ hoạt động giống nhau giữa các bản dựng đặc biệt và cửa hàng ứng dụng.

Đây là id ứng dụng của tôi và các quyền của nó -> http://i.stack.imgur.com/uf4pB.png

Đây là hồ sơ cấp phép cho cửa hàng ứng dụng -> http://i.stack.imgur.com/AYOV5.png


Ở đây nó đang được ký và tải lên -> i.stack.imgur.com/AziCI.png Cài đặt xây dựng -> i.stack.imgur.com/j2TFG.png
Jessiah

Câu trả lời:


282

Tôi khắc phục sự cố này bằng cách bật khả năng thông báo đẩy.

Nhấp vào .xcodeproj -> Khả năng -> Bật thông báo đẩy


15
Trong XCode 8, tôi đã thấy lỗi trong phần này cho biết cần thêm tệp quyền cần được thêm vào. Tôi đã nhấp vào điều này để sửa nó và sau đó nó hoạt động tốt.
Pellet

Chỉ mới xuất hiện gần đây khi bắt đầu phát triển trong Xcode 8 và điều này đã sửa nó. Cảm ơn!
Kody R.

Trước đây đã làm việc trên Xcode 7.3 nhưng đột nhiên không đăng ký trên Xcode 8, nhưng điều này đã giải quyết vấn đề của tôi bằng cách bật khả năng thông báo đẩy.
Vinod Rathod

Apple quyết định ẩn tùy chọn này ở đâu đó sâu bên trong Xcode 8.1. Xin vui lòng cho tôi biết nếu bất cứ ai có thể tìm thấy nó.
Thomas Sebastian

Tôi không nhận được tùy chọn "Thông báo đẩy" trong danh sách khả năng. Đó là điều liên quan đến thực tế là XCode đã tự động tạo hồ sơ cấp phép của tôi (Tôi mới làm quen với nhà phát triển iOS nên có thể tôi đã nhầm ...). Tôi phải đăng nhập vào tài khoản nhà phát triển của mình và tạo hồ sơ cấp phép cho ứng dụng của mình theo cách thủ công trước khi nó hiển thị Thông báo đẩy trong danh sách khả năng. Cuối cùng, việc kích hoạt nó đã khắc phục sự cố này.
Max Mumford

103

Tôi đã khắc phục sự cố này như thế này:

  • Đi tới "Tùy chọn" Xcode
  • Chuyển đến tab "Tài khoản"
  • Chọn ID Apple của tôi và nhấp vào "Xem chi tiết"
  • Nhấp vào mũi tên ở góc dưới cùng bên trái để làm mới
  • Nhấp vào "Hoàn tất"

Và thử lại!

Nguồn:


6
thì bạn nên chọn cấp phép hồ sơ đúng trong Setting xây dựng
Hashem Aboonajmi

2
Trong trường hợp của tôi, tôi cần tạo lại cấu hình cấp phép trong trung tâm phát triển. Sau đó tải lại tất cả hồ sơ và chứng chỉ thông qua Xcode> tùy chọn> Tài khoản> ID Apple của bạn> nút xem chi tiết ở góc bên phải> nút tải xuống tất cả. Sau đó nó sẽ hoạt động trở lại.
blackjacx

2
Tôi thấy thật đáng buồn khi có quá nhiều trục trặc trong quá trình thúc đẩy và triển khai. Cách duy nhất tôi có thể chấp nhận bất kỳ điều này là thực hiện 100% mọi thứ theo cách thủ công và biết Xcode đang cố gắng làm gì, đồng thời quản lý danh tính Keychain và hồ sơ cấp phép trên hệ thống tệp và thông qua Tiện ích cấu hình iPhone.
Tom Pace

57

Bạn phải bật Mục tiêu—> khả năng—> thông báo đẩy. Tôi đã gặp phải vấn đề này bằng cách sử dụng Xcode 8.nhập mô tả hình ảnh ở đây


18

Những vấn đề như vậy là do Hồ sơ cấp phép hiện tại không chứa thông tin APNS, vì Hồ sơ cấp phép được tạo TRƯỚC khi tạo chứng chỉ APNS.

Do đó, để giải quyết vấn đề, hãy tạo Hồ sơ cấp phép mới & chọn Hồ sơ cấp phép trong Xcode. Sau đó, bạn đã XONG.

Ngoài ra, khi bạn thêm push, tôi tin rằng bạn cũng đã cập nhật chứng chỉ trong keychain.


Hồ sơ mà tôi đang sử dụng được tạo sau khi tôi tạo chứng chỉ cho apn đẩy sản xuất. Có điều gì tôi có thể làm để xác nhận rằng nó bị thiếu hoặc chứa thông tin apns không?
Jessiah

@Jessiah: Không .. Nó giống như chúng ta phải theo bước chân do Apple cung cấp.
Fahim Parkar

6

Về Xcode 9, một số câu trả lời đã lỗi thời hoặc không đầy đủ để giải quyết vấn đề cụ thể này.

Đây là các bước để làm theo đối với tôi:

1. Tạo hồ sơ cấp phép

( FCM không phải là điều kiện tiên quyết cho thông báo đẩy nhưng hướng dẫn của họ rõ ràng một cách đáng kinh ngạc, đây là liên kết )

Để kiểm tra ứng dụng của bạn trong khi đang được phát triển, bạn cần có Hồ sơ cấp phép để phát triển để cho phép thiết bị của bạn chạy một ứng dụng chưa được xuất bản trên App Store.

  1. Điều hướng đến Trung tâm thành viên dành cho nhà phát triển của Apple và đăng nhập.
  2. Điều hướng đến Chứng chỉ, Số nhận dạng và Hồ sơ.
  3. Trong menu thả xuống ở góc trên cùng bên trái, chọn iOS, tvOS, watchOS nếu nó chưa được chọn, sau đó điều hướng đến Hồ sơ cấp phép> Tất cả.
  4. Nhấp vào nút + để tạo Hồ sơ cấp phép mới.
  5. Chọn Phát triển ứng dụng iOS làm loại hồ sơ cấp phép, sau đó nhấp vào Tiếp tục.
  6. Trong menu thả xuống, chọn ID ứng dụng bạn muốn sử dụng, sau đó nhấp vào Tiếp tục.
  7. Chọn chứng chỉ Phát triển iOS của ID ứng dụng bạn đã chọn ở bước trước, sau đó nhấp vào Tiếp tục.
  8. Chọn thiết bị iOS mà bạn muốn đưa vào Hồ sơ cấp phép, sau đó nhấp vào Tiếp tục. Đảm bảo chọn tất cả các thiết bị bạn muốn sử dụng để thử nghiệm.
  9. Nhập tên cho hồ sơ cấp phép này (ví dụ: Hồ sơ phát triển ứng dụng mẫu Firebase), sau đó nhấp vào Tạo.
  10. Nhấp vào Tải xuống để lưu Hồ sơ cấp phép vào máy Mac của bạn.
  11. Bấm đúp vào tệp Hồ sơ cấp phép để cài đặt.

2. Kích hoạt khả năng Thông báo đẩy

  1. Chuyển đến trình chỉnh sửa dự án, từ hướng dẫn chính thức nhập mô tả hình ảnh ở đây
  2. Trong phần khả năng, Kích hoạt Thông báo Đẩy nhập mô tả hình ảnh ở đây

4

Tôi gặp sự cố tương tự khi sử dụng phiên bản iOS 8.0 trở lên; Tôi không nhận được mã thông báo thiết bị và đang gặp lỗi: "không tìm thấy chuỗi quyền 'aps-environment' hợp lệ cho ứng dụng"

Tôi đã sửa nó bằng cách sử dụng các bước dưới đây

  • Tôi đã tạo hồ sơ cấp phép mới cho id ứng dụng
  • đã thêm nó vào xcode
  • dự án Đi tới "Sở thích" Xcode
  • Chuyển đến tab "Tài khoản" Chọn ID Apple của tôi và nhấp vào "Xem chi tiết"
  • chọn hồ sơ cấp phép của bạn
  • Nhấp vào mũi tên ở góc dưới cùng bên trái để làm mới
  • Nhấp vào "Hoàn tất"

và bây giờ chạy dự án chắc chắn nó sẽ hoạt động.


3

Vì một số lý do mà giải pháp của Wei không hiệu quả với tôi. Khi nhấp vào Sửa quyền lợi, Xcode đã tạo ra hai tệp và nó vẫn không hoạt động, thực sự là các tệp quyền được tạo trống.

Điều này xảy ra (dường như) do PRODUCT_NAME của dự án khá dài và bao gồm khoảng trắng và các chữ cái "ä" và "ö". Sau khi thay đổi nó thành một phiên bản ngắn với các chữ cái chỉ tiếng Anh, bản sửa lỗi của Wei đã hoạt động chính xác.


1

Tôi đã mất một lúc để tìm ra nguyên nhân gây ra lỗi không có quyền hưởng môi trường aps hợp lệ. Vấn đề là có hai tệp .entitlements trong dự án XCode. Một là platform / ios //. Rights và một cái khác là platform / ios // Resources / .entitlements và các quyền thích hợp chỉ có trong tệp cũ trong khi XCode được định cấu hình để sử dụng tệp sau. Tôi đã cập nhật tệp sau theo cách thủ công và mọi thứ bắt đầu hoạt động. Một tùy chọn khác để khắc phục điều này là thay đổi .entitlements được XCode sử dụng. Điều này có thể được thực hiện trong Build Settings -> Signing -> Code Signing Entitlements cấu hình param.

Tôi không chắc tại sao lại có hai tệp .entitlements trong XCode. Có thể là plugin đẩy cordova đã tạo ra plugin thứ hai (tôi đang phát triển một ứng dụng di động cordova lai) không? Và vị trí chính xác cho tệp .entitlements là gì?


-1

Tôi đã gặp sự cố này và giải quyết nó bằng giải pháp đầu tiên.

Tuy nhiên, tôi đã không thành công một lần vì tôi đã đăng nhập hai tài khoản apple. Sau khi loại bỏ một, mọi thứ trở nên hoạt động.

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.