2010-04-10 39 views
12

Ứng dụng của tôi vừa được phê duyệt cho cửa hàng táo. Tôi đã tải về nó một cài đặt nó trên iPhone của tôi - nhưng có vẻ như các thông báo đẩy bị hỏng!Thông báo đẩy hoạt động cho Ad Hoc, nhưng không phải khi được tải xuống từ cửa hàng Apple

Tôi đã thử nghiệm thành công các thông báo đẩy trong sản xuất bằng cách sử dụng hồ sơ cấp phép adHoc. Tôi không có vấn đề gì. Điều duy nhất tôi đã làm khác nhau khi tôi gửi cho táo đã sử dụng hồ sơ phân phối cửa hàng ứng dụng.

Ứng dụng không bao giờ hỏi tôi (hoặc bất kỳ ai khác đã tải xuống) nếu tôi muốn nhận thông báo đẩy. Do đó, điện thoại không bao giờ nói chuyện với máy chủ của tôi để gửi mã thông báo đẩy (vì ứng dụng: didRegisterForRemoteNotificationsWithDeviceToken: có lẽ là không bao giờ được gọi). Ngoài ra ứng dụng không xuất hiện trong ứng dụng cài đặt trong cài đặt thông báo.

Tôi có thể làm gì sai?

EDIT: Trong khi ứng dụng đang chờ phê duyệt, tôi gặp sự cố khi tạo chứng chỉ đẩy sản xuất của mình. Điều này có liên quan không?

Problem generating APN SSL certificate after submitting to apple store

Trả lời

21

Đảm bảo bạn đã tạo ID ứng dụng sản xuất và đã bật thông báo đẩy trên đó. Sau đó tạo hồ sơ cung cấp cho ứng dụng đó. Tải về và mở file với một trình soạn thảo văn bản để PHẢI chắc chắn rằng hồ sơ cá nhân chứa phím này và giá trị:

aps-môi trường sản xuất

Nếu không, thì chắc chắn rằng bạn thực sự đã kích hoạt ID ứng dụng phục vụ sản xuất đẩy trước khi bạn tạo hồ sơ cung cấp của mình.

Sau khi bạn thực hiện xây dựng của bạn, bạn có thể kiểm tra việc xây dựng cuối cùng để xác minh nó có quyền aps-môi trường (bạn đang tìm kiếm các mã APS-môi trường ký quyền dưới "yêu cầu nội bộ):

codesign - dvvvv --entitlements - MyCoolApp.app

+1

Oh wow cảm ơn! Vâng, đúng vậy. Tôi đã kiểm tra hồ sơ phân phối ban đầu và khóa đó không có ở đó. Tôi đoán thứ tự bạn thực hiện các bước này thực sự * có * vấn đề. – MikeQ

+0

Giải quyết tuyệt vời. Rất yên tâm của nó để có thể xác minh trong ứng dụng biên dịch cuối cùng cho dù các aps được thiết lập hay không. – scottbates22

3

Bạn có sử dụng ID ứng dụng tương tự cho cả ad-hoc và các tập tin mobileprovision phân phối? Nó cần phải là một định danh hoàn chỉnh, chứ không phải là một phần.

+0

Bằng cách này, bạn có phải là một ID không phải là ký tự đại diện không? với ".adHoc" và điều đó có hiệu quả - sau đó tôi đã gửi đơn đăng ký bằng ID đã kết thúc bằng ".release". Đó là thay đổi duy nhất. Khi tôi phát hiện ra vấn đề này, tôi đã tạo một hồ sơ cung cấp đặc biệt cho ID ứng dụng ".release" và cài đặt nó trên điện thoại của tôi - và thông báo đẩy đã hoạt động! – MikeQ

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