Строка apns не найдена для локального ключа, если строка находится в файле localizable.strings платформы framework

Я разрабатываю фреймворк, который будет использоваться в других приложениях iOS. Основная часть этой платформы - получение push-уведомлений. Фреймворк локализован на английском, испанском, немецком, итальянском и французском языках. Файлы .strings находятся в каталоге ресурсов фреймворка как Localizable.strings. Когда приложение находится на переднем плане, все локализации работают правильно, а различные строки обнаруживаются и переводятся. Однако, когда я получаю push-уведомление через APNS, содержащее ключ «loc-key»: «NOTIFY_UPLOAD_SUCCESS_BODY», уведомление отображается со строкой «NOTIFY_UPLOAD_SUCCESS_BODY» вместо значения, которое должно быть «Файл был успешно загружен». Я предполагаю, что ключ не может быть найден, потому что ключ находится в пакете фреймворка, а не в пакете приложения. Есть ли способ обойти это, где эти строки уведомлений могут находиться во фреймворке, как и другие локализованные строки в приложении?

Вы работаете по схеме отладки или выпуска? Как вы это тестируете - симулятор или устройство? Правильно ли настроено устройство? Пакет фреймворка должен был быть скопирован в приложение во время сборки, так что это не должно быть проблемой. Убедитесь, что ваш путь к файлу в фреймворке правильный, чтобы убедиться, что он скопирован во время сборки.

noobsmcgoobs 14.09.2018 07:06

Я использую схему отладки с push-сертификатом песочницы, тестируя на реальном физическом устройстве. Устройство получает уведомления правильно, если я жестко запрограммировал значения ключей. Фреймворк скопирован правильно, потому что все остальные функции фреймворка доступны в приложении.

AlexC. 17.09.2018 21:20

Привет @ AlexC. Вы нашли решение этой проблемы? Если файлы локализации добавлены в приложение, ОС правильно локализует push-уведомление, поскольку оно просматривает основной пакет.

deathhorse 26.03.2020 09:39
2
3
65
0

Другие вопросы по теме