2011-10-23 40 views
11

Tôi đang rách tóc ra để cố gắng đẩy thông báo vào hoạt động! Tôi đang theo dõi this tutorial về cơ bản không có kết quả. Tôi đã xóa xcode nhiều lần, redone toàn bộ chứng chỉ dev táo, làm sạch ra keychain đăng nhập của tôi một vài lần. Điều này đã giúp một vài vấn đề, nhưng cuối cùng tôi vẫn còn bị mắc kẹt.thông báo đẩy của Apple - không có 'môi trường aps' hợp lệ nào đã thử tất cả các giải pháp tôi đã xem trên web?

Điều tôi nghĩ mình cần làm (từ đọc kinh nghiệm của người khác với điều này): 1) cert và khóa openssl của tôi cần được nói chuyện với máy chủ apple 2) Id ứng dụng với cert openssl này có điều khoản hồ sơ được liên kết với nó. 3) Bản dựng (trong xcode) cần phải có hồ sơ cấp phép thích hợp được liên kết với nó 4) Mã nhận dạng xây dựng (trong xcode) cần phải có cùng văn bản với id ứng dụng với cấu hình cung cấp 4) ???

Theo như tôi có thể nói, tất cả điều này là ok:

  1. giấy chứng nhận ssl My + nói chuyện chìa khóa độc đáo đến máy chủ táo (bỏ qua lỗi, tôi vẫn nhận được một nhắc nhở cuối cùng):

MacBook-Pro:apple_dev_certification nflacco$ openssl s_client -connect gateway.sandbox.push.apple.com:2195 -key xxx.pem -cert xxx.pem Enter pass phrase for xxx.pem: CONNECTED(00000003) depth=1 /C=US/O=Entrust, Inc./OU=www.entrust.net/rpa is incorporated by reference/OU=(c) 2009 Entrust, Inc./CN=Entrust Certification Authority - L1C verify error:num=20:unable to get local issuer certificate .....

2,3,4) Khi tôi tạo dự án mới, nó không bao giờ nhận được đúng ứng dụng ip (cài đặt xây dựng-> thông tin nhận dạng gói). Nếu hồ sơ cấp phép của tôi khớp với 'com.xxx' thì ứng dụng sẽ luôn là 'com.xxx.FOO', do đó, Nhóm hồ sơ cấp phép mặc định của iOS được chọn. Tôi chạy ứng dụng như vậy, và nhận được:

2011-10-22 22:42:45.086 VVV[3552:707] Failed to get token, error: Error Domain=NSCocoaErrorDomain Code=3000 "no valid 'aps-environment' entitlement string found for application" UserInfo=0x16d140 {NSLocalizedDescription=no valid 'aps-environment' entitlement string found for application}

4 contd) Tôi muốn sử dụng hồ sơ provisioning tôi có sử dụng id ứng dụng của tôi với đẩy kích hoạt, vì vậy tôi thay đổi nhận dạng ứng dụng 'com.xxx', và chọn cấu hình thích hợp trong tùy chọn ký mã trong menu xây dựng. Cài đặt nó trên iPhone của tôi, điều tương tự :(

Những điều duy nhất tôi có thể nghĩ đến:

  • hồ sơ provisioning của tôi là không chính xác tôi đã thực hiện một mới một vài lần, xóa tất cả các hiện những người trong tổ chức xcode, nhưng này đã không giúp.
  • Mã vẫn bị ký hợp đồng với đội Hồ sơ thay vì mới một của tôi? có cách nào để đảm bảo điều này?

Bất kỳ ý tưởng về tôi nên làm gì đây? Điều này không thể phức tạp. Tôi có nên lau HD của tôi và cài đặt lại từ đầu và hy vọng nó hoạt động?

+0

Vì vậy, vấn đề của bạn là ứng dụng không đăng ký cho push? Tôi đang bối rối vì bạn đang đề cập đến rất nhiều yếu tố không liên quan như chứng chỉ SSL. –

+0

Vâng, đó là chính xác. Tôi vừa đề cập đến những thứ khác để xác nhận chứng chỉ thực sự hoạt động với APN và việc ký mã để xác nhận hồ sơ cấp phép phù hợp được sử dụng cho ứng dụng. – nflacco

Trả lời

14

Bạn biết đó là gì không? Id ứng dụng của tôi.

foo.bar được coi là foo.bar.* (Mà không được phép)

bạn phải có foo.bar.xxx

enter image description here

+1

ý của bạn là gì? những gì tôi nên đổi tên hoặc thay đổi –

0

Tôi nghĩ rằng để đẩy bạn cần tệp Entitlements.plist có khóa aps-environment, với giá trị "sản xuất". Tôi vừa hoàn thành công việc này (một lần nữa) cho ứng dụng của tôi. Một số câu trả lời khác ở đây đã giúp tôi có được cửa sổ Organizer để bật lên sau khi tôi đã lưu trữ, nhưng sau đó tôi đã nhận được lỗi của bạn.

Tôi cũng phải thoát khỏi & khởi động lại XCode với một số cài đặt cảm ứng, không thực sự thay đổi, xóa chứng chỉ cũ, trước đẩy và thêm chứng chỉ mới, v.v. Rất nhiều cài đặt trong XCode didn 't thực sự thay đổi, nhưng có vẻ như chạm vào chúng khiến nó bắt đầu hoạt động.

Các vấn đề liên quan