swift 3 - локализация для push-уведомлений не работает

Я пытаюсь локализовать push-уведомления (swift 3, ios 10) с полезной нагрузкой:

{ 
"aps":{
        "alert":{  
           "title_loc_key":"NOTIFICATION_NEW_FRIEND_REQUEST_TITLE",
           "title-loc-args":[],
           "loc_key":"NOTIFICATION_NEW_FRIEND_REQUEST_BODY",
           "loc-args":[]
        },
       "mutable_content":1,
       "category":"new_friend_request",
       "badge":0,
       "sound":"default"
    }
}

в Localizable.strings у меня есть:

"NOTIFICATION_NEW_FRIEND_REQUEST_TITLE" = "some text";
"NOTIFICATION_NEW_FRIEND_REQUEST_BODY" = "some text"

Мой системный язык en Проблема в том, что приходит уведомление (мой Iphone вибрирует), но ничего не показывает. В чем проблема и как это исправить?


person Tabirta Adrian    schedule 12.07.2017    source источник
comment
title_loc_key против title-loc-key и loc_key против loc-key Документ, кажется, определяет ключи с помощью - и вы смешиваете (используя - и _) developer.apple.com/library/content/documentation/   -  person Larme    schedule 12.07.2017
comment
thx, я знаю, глупая ошибка ((   -  person Tabirta Adrian    schedule 12.07.2017
comment
Не забудьте проголосовать за правильный ответ @TabirtaAdrian   -  person Oleg Danu    schedule 12.07.2017
comment
@OlegDanu - часть разработчика :D, Не забудьте проголосовать за правильный ответ - Спасибо за отзыв! Голоса, отданные теми, у кого репутация менее 15, записываются, но не изменяют публично отображаемый результат публикации.   -  person Tabirta Adrian    schedule 12.07.2017


Ответы (1)


title_loc_key против title-loc-key и loc_key против loc-key.

документ определяет разделители ключевых слов с помощью - и вы смешиваете (используя - для ...arg и _ для ...key)

Хранение локализованного контента в наборе App Bundle

Если вы используете согласованный набор сообщений для своих уведомлений, вы можете хранить локализованные версии текста сообщения в своем пакете приложений и использовать ключи loc-key и loc-args в полезной нагрузке, чтобы указать, какое сообщение отображать. Клавиши loc-key и loc-args определяют содержание сообщения уведомления. При наличии локальная система ищет в Localizable.strings файлах приложения строку ключа, совпадающую со значением в loc-key. Затем он использует соответствующее значение из файла строк в качестве основы для текста сообщения, заменяя все значения-заполнители строками, указанными с помощью ключа loc-args. (Вы также можете указать строку заголовка для уведомления, используя клавиши title-loc-key и title-loc-args.)

person Larme    schedule 12.07.2017
comment
Есть ли у вас какие-либо идеи по этому вопросу? stackoverflow.com/questions/50347766/ - person ayalcin; 15.05.2018