Saya telah mengintegrasikan notifikasi push jarak jauh, tetapi saya mendapatkan peringatan ini:
didReceiveRemoteNotification:fetchCompletionHandler:]
, tetapi Anda masih perlu menambahkan "remote-notification
" ke daftar yang didukungUIBackgroundMode
diInfo.plist
.
Versi Xcode saya adalah 8.3.1. Saya sangat ingin menambahkan ini ke Info.plist
. Saya telah mengikuti beberapa tutorial juga tetapi mereka tidak menyebutkan ini juga. Apa yang harus saya lakukan?
sumber
application(_:didReceiveRemoteNotification:fetchCompletionHandler:)
fungsi, yang digunakan untuk menangani pengambilan data.Anda juga dapat mengedit info.plist yang diperlukan (Open As -> Source Code) dan menempel:
sumber
Nyatanya, Anda tidak perlu menambahkan UIBackgroundModes ke .plist hanya untuk menggunakan notifikasi jarak jauh.
Saya tahu saya sedikit memisahkan ahli waris (jawaban lain sebagian besar bagus, dan mungkin ada sesuatu yang baru pada iOS 11), tetapi pertanyaannya mengacu pada pemberitahuan push yang memerlukan pembaruan latar belakang, dan ternyata tidak.
Perbedaannya di sini, adalah ada dua metode berbeda yang menerima pemberitahuan di AppDelegate;
Yang ini tidak mengharuskan Anda menggunakan UIBackgroundModes:
Di atas menggantikan yang tidak digunakan lagi pada iOS 11:
Dan yang satu ini memang membutuhkan kemampuan mode latar belakang:
Kuncinya di sini, adalah yang pertama (dan yang sudah tidak digunakan lagi diganti) hanya berjalan ketika aplikasi berada di latar depan. Yang terakhir akan berjalan jika aplikasi berada di latar depan ATAU latar belakang. Lihat spesifikasi untuk nugget spesifik ini:
Karenanya, jika Anda memerlukan notifikasi push, putuskan apakah Anda perlu menjalankan di latar belakang - hanya jika Anda memerlukan keduanya, Anda harus menerapkan metode yang disarankan oleh peringatan tersebut.
sumber
Itu terjadi pada saya bahkan setelah mengatur mode latar belakang pemberitahuan jarak jauh dalam kemampuan. Masalahnya adalah saya memiliki tiga target, satu untuk produksi, satu untuk qa dan satu untuk pementasan. Saya harus mengatur notifikasi jarak jauh di ketiga target dan itu memperbaiki peringatan.
sumber