Tôi có một ứng dụng được cho là đã bật thông báo đẩy nhưng vì một số lý do không có chúng. Tôi đã thấy những người khác tải xuống và cài đặt ứng dụng và thậm chí nó không nhắc họ cho phép gửi thông báo đẩy. Như mong đợi, ứng dụng này không xuất hiện trong Cài đặt> Thông báo của họ.Làm cách nào để kiểm tra xem hồ sơ cấp phép phân phối iOS có bật thông báo đẩy không?
Tuy nhiên, trên iPad của tôi, tôi có thể nhận được thông báo đẩy từ ứng dụng này và nó hiển thị trên Cài đặt> Thông báo của tôi. Tôi đã xóa và cài đặt lại ứng dụng để đảm bảo rằng tôi có cùng một thứ mà mọi người khác có (và không phải là phiên bản phát triển) và tôi vẫn có thể nhận được thông báo.
Bây giờ, ứng dụng này được viết cho khách hàng đã gửi cho tôi tất cả hồ sơ cung cấp (dev, adhoc, distribution) cũng như các tệp cần thiết để có thể gửi thông báo đẩy, vì vậy tôi không thể biết chắc mọi thứ đã được tạo đúng cách.
Lý thuyết của tôi ngay bây giờ là:
- hồ sơ cá nhân Adhoc tôi nhận được "tạo đúng" (tức là tạo ra sau khi thiết lập APN trên App ID của ứng dụng trong các Provisioning Portal)
- sự hồ sơ phân phối mà tôi đã nhận được trước khi thiết lập APNs cho ứng dụng này (và do đó, nó không phải là "đẩy bật")
- lý do tôi có thể nhận thông báo đẩy trên thiết bị của tôi là vì trong khi phát triển Tôi đã cài đặt phiên bản adhoc, đã nhắc tôi cấp quyền nhận thông báo đẩy và mặc dù tôi đã xóa phiên bản adhoc này và tải xuống phiên bản từ cửa hàng, thiết bị đã "lưu vào bộ nhớ cache" thực tế là tôi sẵn sàng để nhận thông báo và không còn nhắc tôi về số đó. Tôi đã kiểm tra với các ứng dụng khác và thực sự, sau khi tôi xóa và cài đặt lại chúng, chúng sẽ không nhắc tôi một lần nữa để có quyền nhận thông báo đẩy.
Vì vậy, câu hỏi của tôi là:
- Liệu lý thuyết này có ý nghĩa?
- Nếu có, điều này có nghĩa là tôi sẽ phải yêu cầu khách hàng tạo hồ sơ cấp phép phân phối mới. Tôi làm cách nào để xác minh rằng tiểu sử này được "kích hoạt"? (tức là tôi không thể chỉ cài đặt một ứng dụng được biên dịch với nó)
Và cách dễ dàng để xem phần XML trong hồ sơ cung cấp sẽ là chạy lệnh sau trong Terminal.app 'security cms -Di/path/to/AppStoreProfile.mobileprovision' Sau đó, tìm cùng một môi trường aps Chìa khóa. – Tal