Catatan Teknis TN2265: Memecahkan Pemberitahuan Push
Pertama kali aplikasi yang diaktifkan tekan mendaftarkan pemberitahuan push, iOS bertanya kepada pengguna apakah mereka ingin menerima pemberitahuan untuk aplikasi itu. Setelah pengguna merespons peringatan ini, tidak akan ditampilkan lagi kecuali perangkat dipulihkan atau aplikasi telah dihapus instalasinya selama setidaknya satu hari.
Jika Anda ingin mensimulasikan menjalankan aplikasi Anda yang pertama kali, Anda dapat menghapus aplikasi selama satu hari. Anda dapat mencapai yang terakhir tanpa benar-benar menunggu sehari dengan mengatur jam sistem maju sehari atau lebih, mematikan perangkat sepenuhnya, lalu menyalakan kembali perangkat.
Pembaruan: Seperti disebutkan dalam komentar di bawah, solusi ini berhenti berfungsi sejak iOS 5.1. Saya akan mendorong pengarsipan bug dengan Apple sehingga mereka dapat memperbarui dokumentasinya. Solusi saat ini tampaknya mengatur ulang konten dan pengaturan perangkat.
Pembaruan: Catatan teknologi telah diperbarui dengan langkah-langkah baru yang berfungsi dengan benar pada iOS 7.
- Hapus aplikasi Anda dari perangkat.
- Matikan perangkat sepenuhnya dan hidupkan kembali.
- Buka Pengaturan> Umum> Tanggal & Waktu dan tetapkan tanggal di depan sehari atau lebih.
- Matikan perangkat sepenuhnya lagi dan hidupkan kembali.
UPDATE pada iOS 9
Cukup menghapus dan menginstal ulang aplikasi akan mengatur ulang status pemberitahuan ke notDetermined
(artinya prompt akan muncul).
Berkat jawabannya oleh Gomfucius di bawah ini:
https://stackoverflow.com/a/33247900/704803
Satu lagi solusi pengujian hanya untuk ini adalah dengan hanya mengubah bundel id Anda. Hanya saja, jangan lupa untuk mengubahnya kembali setelah Anda selesai!
sumber
Di iOS 9.0.2, saya mendapatkan "register push notification alert" setiap kali saya menghapus aplikasi dan menginstalnya kembali. Ini berlaku untuk unduhan produksi AppStore dan mode adhoc.
PEMBARUAN: Dipastikan ini berfungsi untuk iOS 9.x
sumber
Seperti yang telah dicatat, pendekatan untuk mengatur ulang status pemberitahuan untuk aplikasi pada perangkat diubah untuk iOS5 yang lebih baru.
Ini berfungsi untuk saya di iOS6:
Namun ini hanya akan membuat prompt awal muncul lagi - itu tidak akan menghapus hal-hal terkait keadaan push lainnya.
sumber
Plist: /private/var/mobile/Library/RemoteNotification/Clients.plist
... berisi klien terdaftar untuk pemberitahuan push. Menghapus entri aplikasi Anda akan menyebabkan prompt muncul kembali
sumber
Melakukannya secara terprogram sepertinya bekerja untuk saya setiap saat. Saya memiliki build dengan baris berikut tanpa komentar:
Saya menjalankannya setiap kali saya ingin membatalkan pendaftaran dari PN. Anda mungkin harus mengakhiri aplikasi secara eksplisit dari daftar terbaru dan bermain-main dengan Pusat Pemberitahuan di aplikasi Pengaturan untuk memperbaikinya.
Juga, prompt UI yang meminta pengguna untuk mendaftar untuk PN mungkin tidak muncul. Tidak yakin apakah telah dinonaktifkan di salah satu versi iOS terbaru.
sumber
Seperti yang dikatakan ianolito, pengaturan tanggal harus berfungsi:
Saya perhatikan pada perangkat saya (iPhone 4, iOS 6.1.2) pengaturan jam sistem sehari ke depan atau bahkan beberapa hari tidak bekerja untuk saya. Jadi saya menyetel tanggal ke depan satu bulan dan kemudian itu berhasil dan aplikasi saya menampilkan prompt pemberitahuan lagi.
Semoga ini bisa membantu bagi siapa saja, itu bisa membuat sakit kepala!
sumber
Saya setuju dengan micmdk .. Saya memiliki pengaturan lingkungan pengembangan dengan Push Notification dan membutuhkan cara untuk mengatur ulang ponsel agar terlihat seperti instalasi awal ... dan hanya langkah-langkah tepat ini yang bekerja untuk saya ... memerlukan DUA reboot Perangkat:
Dari APPLE TECH DOC:
Menyetel Ulang Peringatan Notifikasi Izin Push di iOS Pertama kali aplikasi yang diaktifkan push mendaftarkan pemberitahuan push, iOS bertanya kepada pengguna apakah mereka ingin menerima pemberitahuan untuk aplikasi itu. Setelah pengguna merespons peringatan ini, tidak akan ditampilkan lagi kecuali perangkat dipulihkan atau aplikasi telah dihapus instalasinya selama setidaknya satu hari.
Jika Anda ingin mensimulasikan menjalankan aplikasi Anda yang pertama kali, Anda dapat menghapus aplikasi selama sehari. Anda dapat mencapai yang terakhir tanpa benar-benar menunggu sehari dengan mengikuti langkah-langkah ini:
Hapus aplikasi Anda dari perangkat.
Matikan perangkat sepenuhnya dan hidupkan kembali.
Buka Pengaturan> Umum> Tanggal & Waktu dan tetapkan tanggal di depan sehari atau lebih.
Matikan perangkat sepenuhnya lagi dan hidupkan kembali.
sumber
Saya telah bertanya-tanya tentang ini di masa lalu dan sampai pada kesimpulan bahwa itu sebenarnya bukan kasus uji yang valid untuk kode saya. Saya tidak berpikir kode aplikasi Anda benar-benar dapat membedakan antara seseorang yang menolak notifikasi pertama kali atau yang lebih baru menonaktifkannya dari pengaturan notifikasi iPhone. Memang benar bahwa pengalaman pengguna berbeda tetapi yang tersembunyi di dalam panggilan untuk registerForRemoteNotificationTypes.
Memanggil unregisterForRemoteNotifications tidak sepenuhnya menghapus aplikasi dari pengaturan notifikasi - meskipun itu menghapus konten pengaturan untuk aplikasi itu. Jadi ini masih tidak akan menyebabkan dialog disajikan untuk kedua kalinya kepada pengguna saat aplikasi berikutnya dijalankan (setidaknya tidak pada v3.1.3 yang saat ini saya uji dengan). Tapi seperti yang saya katakan di atas, Anda mungkin tidak perlu khawatir tentang itu.
sumber
Catatan teknologi yang sama seperti yang disebutkan dalam jawaban yang diterima ( TN2265 - Mengatasi Pemberitahuan Push) telah diperbarui dengan solusi untuk iOS 5 dan di atasnya.
Singkatnya: buat cadangan dan pulihkan dari sana setiap waktu.
sumber
Apple Tech Note juga menjelaskan Anda dapat memulihkan perangkat untuk mengatur ulang dialog Pemberitahuan Push.
Tidak dikatakan bahwa Anda juga dapat menggunakan opsi "Umum -> Atur Ulang -> Hapus Semua Konten Dan Pengaturan" pada perangkat itu sendiri (iOS 5.x).
sumber
Selain jawaban dari ianolito.
Punya masalah yang sama dengan aplikasi yang saya unduh setahun yang lalu dan menolak pemberitahuan push pada awalnya. Sekarang ingin pemberitahuan push kembali, langkah-langkah ini bekerja untuk saya di iOS 7 beta. Tidak yakin titik mana yang memicu persisnya.
Terima kasih Tuhan saya tidak perlu "Hapus Semua Konten Dan Pengaturan". Mungkin itu akan membantu seseorang.
sumber
Saya baru-baru ini mengalami masalah yang sama dengan aplikasi reaksi-asli. Versi iPhone OS 13.1. Saya mencopot aplikasi dan mencoba menginstal aplikasi dan memperhatikan bahwa izin lokasi dan notifikasi tidak diminta.
Saat memeriksa pengaturan, saya bisa melihat aplikasi saya diaktifkan untuk lokasi (dari instalasi sebelumnya) namun tidak ada entri yang sesuai dengan pemberitahuan. Mencoba mencopot pemasangan dan mem-boot ulang tanpa mengatur waktu, itu tidak berfungsi. Btw, saya juga mencoba mengunduh aplikasi Appstore, perilaku masih sama.
Masalah ini diselesaikan hanya setelah mengatur waktu perangkat.
sumber
Setelah berjam-jam mencari, dan tidak berhasil dengan saran di atas, ini berfungsi seperti pesona untuk 3.x +
sumber