Saya sudah berusaha sangat keras untuk membuat aplikasi iOS sederhana sederhana yang dapat menerima pemberitahuan push. Satu-satunya alasan saya melakukan ini adalah untuk menetapkan prosedur bagi beberapa anggota tim lain untuk digunakan, dan belum dapat menemukan versi terbaru dari instruksi tersebut di tempat lain di web. Toko kami cukup baru di iOS dev, saya pribadi sama sekali tidak berpengalaman dengan dev dan Xcode iOS. Saya telah menemukan puluhan tutorial, artikel, dan posting masalah dari Apple dan di tempat lain dan saya merasa seperti saya mungkin hampir sampai ...
Di sinilah saya harus (perhatikan saya menggunakan Xcode 4.3 dan awalnya mencoba untuk menyebarkan hanya ke iOS 5.1, dan saya mengumpulkan bahwa beberapa hal mungkin telah berubah baru-baru ini vs versi Xcode sebelumnya, tetapi sekali lagi saya baru untuk semua ini - dan menemukannya benar-benar membingungkan dan berbelit-belit):
1) Saya punya profil penyediaan di iPhone saya yang memiliki Push diaktifkan
2) Dalam proyek Xcode pengujian saya, saya telah mendapatkan profil penyediaan yang dipilih sebagai identitas penandatanganan (dalam Pengaturan Bangun> Penandatanganan Kode)
3) Saya memiliki pengidentifikasi bundel saya di bawah Ringkasan dan Info> Properti Target iOS Kustom diatur dengan benar * (Saya pikir ??)
4) Saya punya registerForRemoteNotificationTypes yang dipanggil dalam delegasi saya didFinishLaunchingWithOptions
5) Saya mendapatkan didRegisterForRemoteNotificationsWithDeviceToken dan didFailToRegisterForRemoteNotificationsWithError di delegasi saya, mengatur untuk mencatat token perangkat atau kesalahan masing-masing
6) Saya telah mengaktifkan Aktifkan Hak yang diperiksa di bawah Ringkasan.
7) Tepat di bawah ini, File Entitlements yang dipilih adalah Tinker6 (nama proyek pengujian saya), yang dihasilkan secara otomatis ketika saya memeriksa Enable Entitlements.
8) Dalam file Tinker6.entitlements saya mendapatkan yang berikut (yang saya kumpulkan benar berdasarkan beberapa posting berbeda di seluruh web, tetapi yang saya tidak dapat menemukan sesuatu yang pasti dari Apple itu sendiri):
Diperbarui
9) Juga, saya telah mencoba semuanya tanpa file hak, dan pada dasarnya mendapatkan hasil yang sama.
10) Konten file mobileprovision saya mencakup hak dengan benar (Saya telah mengacak nomor dan domain tetapi secara struktural sama):
<key>application-identifier</key>
<string>12355456A7.com.whatever.tinker</string>
<key>aps-environment</key>
<string>development</string>
<key>get-task-allow</key>
<true/>
<key>keychain-access-groups</key>
<array>
<string>12355456A7.*</string>
</array>
/ akhiri pembaruan
Ketika saya mencoba menjalankan ini di perangkat saya, saya mendapatkan kesalahan berikut dalam output Xcode:
2012-06-11 12:45:23.762 Tinker6[13332:707] Failed to get token, error:
Error Domain=NSCocoaErrorDomain Code=3000 "no valid 'aps-environment'
entitlement string found for application" UserInfo=0x24a3b0
{NSLocalizedDescription=no valid 'aps-environment' entitlement string
found for application}
Saya sudah mencoba mengatur get-task-allow to NO, aps-environment to production, keempat kemungkinan kombinasi, hal yang sama.
Bagaimana saya bisa melewati ini? Di mana dokumentasi definitif tentang ini?
- Latar belakang lebih lanjut mengikuti -
* Sejauh bundel id, saya masih tidak jelas tentang bagaimana ini harus ditetapkan dalam kaitannya dengan Id Aplikasi dan Id Profil dalam profil Penyediaan. Di portal Provisioning di bawah App Id, saya punya ini (lagi-lagi, angka dan domain teracak):
Dan bundel id dua tempat diatur saya punya ini:
Saya sama sekali tidak yakin ini benar atau apakah satu atau keduanya harus disetel ke 12355456A7.com.wh whatever.tinker, meskipun saya sudah mencoba yang sebelumnya dalam proses tanpa hasil ...
Catatan saya menyadari ada banyak posting dengan judul yang serupa, namun semuanya tampaknya ketinggalan zaman berdasarkan nama file dan sebagainya yang diberikan, dan kenyataannya tidak ada solusi yang tampaknya berguna. Saya berharap tingkat detail yang lebih besar yang saya berikan akan menjamin respons kualitas. Saya mungkin akan memberikan hadiah sesegera mungkin dan jika Anda memberikan jawaban berkualitas tinggi yang mengarah ke solusi, saya akan memberi Anda hadiah itu serta mempromosikan jawaban Anda melalui twitter dan blog saya. Terutama jika Anda memasang posting yang benar-benar bagus "di sini adalah 500 langkah tepat yang Anda butuhkan untuk mendapatkan aplikasi push notification sederhana yang berfungsi termasuk penyediaan dan apa pun yang lain" artikel di blog Anda atau apa pun.