В существующем ответе говорится, что вы должны установить для content-available значение 1, что NSLog
не работает в расширениях, и фоновый поток является проблемой.Они не правы.
доступный контент: 1 не имеет отношения к расширению службы уведомлений, для того, чтобы его запустить, вам нужен изменяемый контент: 1.
NSLog отлично работает в расширениях, удобно использовать консоль ОС при устранении неполадок.
Нет проблем с загрузкой изображения в фоновом потоке.
Попробуйте посмотреть в консоли ОС, чтобы увидеть, что может происходить (запустите console.app на вашем Mac, подключите устройство и выберите его слева, и посмотрите, что произойдет, когда выЕсли вы не используете NSLog, вы должны увидеть, что ОС пытается найти и запустить расширение, например:
default 10:38:53.925889 -0400 SpringBoard [com.you.whatever] Remote
notification request 386D-4968 can be modified: 1
default 10:38:53.926227 -0400 SpringBoard [com.you.whatever] Trying to find extension for bundle
info 10:38:53.942366 -0400 pkd Candidate plugin count: 1, info: (
"com.you.whatever.NotificationServiceExtension(1.0.0) 2765CB-8244DD--B83D-20CB148BCEF6")
default 10:38:53.945090 -0400 SpringBoard [com.you.whatever] Extension can modify push notification request 386D-4968? YES
Если вы не видите успеха, возможно, что-то не так с настройкой вашего проекта, возможно, попробуйтевоссоздание цели в XCode (выполните через Файл -> Создать -> Цель, выберите Расширение службы уведомлений).