Сбой iOS с NSInvalidArgumentException при подписке на push-уведомления с помощью Unity3D и OneSignalIOS

Программируем под IOS
Ответить Пред. темаСлед. тема
Гость
 Сбой iOS с NSInvalidArgumentException при подписке на push-уведомления с помощью Unity3D и OneSignal

Сообщение Гость »

Моя проблема:
Я создал игру/приложение с помощью Unity3D, и мне нужно настроить OneSignal для push-уведомлений. Он отлично работает с Android, я протестировал и опубликовал это. Теперь тестирование на реальном устройстве iOS дает мне исключение и приводит к сбою моего приложения.

Я выполнил шаги по реализации, которые можно найти здесь: https://documentation.onesignal.com/doc ... -sdk-setup

Я пробовал запускать на iPhone 7 Plus, iPad и эмуляторах. Эмуляторы отлично работают и регистрируются на OneSignal (push не работает, потому что не поддерживается, но там показано). Все остальные реальные устройства выходят из строя.

Кроме того, я ВООБЩЕ не являюсь экспертом по объективным c/xcode/iOs. Я знаю много языков, но Objective-C НЕ один из них.
Мои версии: [*]XCode версии 10.3 (10G8) [*]Версия Unity 2019.2.5f1 [*]OneSignal Unity SDK версии 2.8.2 Мои попытки:
Проверено: работает на устройстве Android

Результат: Отлично работает! Никаких проблем

--

Проверено: В разделе «Цель» > «Возможности»: Группы приложений включены, Фоновые режимы/удаленные уведомления включены, Push-уведомления > включено (как ссылка выше).

Результат: приложение вылетает при запуске.

--

Проверено: то же, что и выше, но с выключенным Wi-Fi.

Результат: Работает, но OneSignal не зарегистрирован, поскольку у него нет подключения к Интернету.

--

Проверено: В разделе «Цель» > «Возможности»: Группы приложений включены, Фоновые режимы/Удаленные уведомления отключены, Push-уведомления > включено.

Результат: приложение запускается и запрашивает разрешение на отправку push-уведомлений. Вылетает, когда я это разрешаю.

--

Проверено: Включение тех же параметров, что и выше, для цели OneSignalNotificationServiceExtension

Результат: Ничего не меняется, вылетает, как раньше.
Журнал ошибок:
При любом сбое возникает одна и та же ошибка.

(Я изменил название приложения на APPNAME только в целях конфиденциальности моего клиента.)

2019-09-12 13:33:05.883 APPNAME[1120:325776] UnityIAP UnityEarlyTransactionObserver: создано 2019-09-12 13:33:05.890 APPNAME [1120:325776] UnityIAP UnityEarlyTransactionObserver: зарегистрировано для событий жизненного цикла CrashReporter: инициализирован 2019-09-12 13:33:06.180 APPNAME[1120:325776] Построено на основе ветки «2019.2/staging», версия «2019.2.5f1 (9dace1eed4cc)», тип сборки «Выпуск», серверная часть сценариев «il2cpp» 2019-09-12 13:33:06.219 APPNAME[1120:325776] -> зарегистрированные мономодули 0x158e810 2019-09-12 13:33:06.471 APPNAME[1120:325776] Вы реализовали -[ application:didReceiveRemoteNotification:fetchCompletionHandler:], но вам все равно нужно добавить «удаленное уведомление» в список поддерживаемых UIBackgroundModes в вашем Info.plist. -> applicationDidFinishLaunching() 2019-09-12 13:33:06.978 APPNAME[1120:325776] Захват металлических кадров графического процессора включен 2019-09-12 13:33:06.979 APPNAME[1120:325776] Проверка API металла отключена 2019-09-12 13:33:07.507 APPNAME[1120:325776] UnityIAP UnityEarlyTransactionObserver: добавлено в очередь платежей -> приложениеDidBecomeActive() [XR] Обнаружение подсистем по пути /var/containers/Bundle/Application/493D8CF2-4D91-4035-9256-8E7A53D7FB4A/APPNAME.app/Data/UnitySubsystems GfxDevice: создание клиента устройства; резьбовой=1 Рендерер: PowerVR SGX 543. Торговец: Imagination Technologies Версия: OpenGL ES 2.0 IMGSGX543-124.1 ГЛЕС: 2 GL_OES_глубина_текстура GL_OES_глубина24 GL_OES_element_index_uint GL_OES_fbo_render_mipmap GL_OES_mapbuffer GL_OES_packed_length_stencil GL_OES_rgb8_rgba8 GL_OES_standard_derivatives GL_OES_texture_float GL_OES_texture_half _float GL_OES_texture_half_float_linear GL_OES_vertex_array_object GL_EXT_blend_minmax GL_EXT_color_buffer_half_float GL_EXT_debug_label GL_EXT_debug_marker GL_EXT_discard_framebuffer GL_EXT_draw_instanced GL_EXT_instanced_ массивы GL_EXT_map_buffer_range GL_EXT_occlusion_query_boolean GL_EXT_pvrtc_sRGB GL_EXT_read_format_bgra GL_EXT_separate_shader_objects GL_EXT_shader_framebuffer_fetch GL_EXT_shader_texture_lod GL_EXT_shadow_samplers GL_EXT_ sRGB GL_EXT_texture_filter_anisotropic GL_EXT_texture_rg GL_EXT_texture_storage GL_APPLE_clip_distance GL_APPLE_color_buffer_packed_float GL_APPLE_copy_texture_levels GL_APPLE_framebuffer_multisample GL_APPLE_rgb_422 GL_APPLE _sync GL_APPLE_texture_format_BGRA8888 GL_APPLE_texture_max_level GL_APPLE_texture_packed_float GL_IMG_read_format GL_IMG_texture_com pression_pvrtc ЖУРНАЛ OPENGL: Создание графического устройства OpenGL ES 2.0; Уровень контекста ; Дескриптор контекста 359478480 Инициализировать версию ядра: 2019.2.5f1 (9dace1eed4cc) CrashReporter: в /var/mobile/Containers/Data/Application/FF47706A-E2CD-4895-8DDC-0C80ECA7CD0D/Library/Caches/CrashReports/crash-pending.plcrash не существует ожидающего отчета. 2019-09-12 13:33:09.173 APPNAME[1120:325776] ПРЕДУПРЕЖДЕНИЕ: OneSignal обнаружил, что делегат вашего приложения реализует устаревший метод (application:didReceiveLocalNotification:). Обратите внимание, что этот метод официально объявлен устаревшим, и OneSignal SDK больше не будет его вызывать. Вместо этого вам следует использовать UNUserNotificationCenter. 2019-09-12 13:33:09.176 APPNAME[1120:325776] ПРЕДУПРЕЖДЕНИЕ: OneSignal обнаружил, что делегат вашего приложения реализует устаревший метод (application:handleActionWithIdentifier:forLocalNotification:completionHandler:). Обратите внимание, что этот метод официально объявлен устаревшим, и OneSignal SDK больше не будет его вызывать. Вместо этого вам следует использовать UNUserNotificationCenter. Время разгрузки: 24,191250 мс Инициализация UnityPurchasing через бескодовый IAP UnityEngine.Purchasing.CodelessIAPStoreListener:get_Instance() (Имя файла: ./Runtime/Export/Debug/Debug.bindings.h Строка: 35) Версия UnityIAP: 1.22.0 UnityEngine.Purchasing.StandardPurchasingModule:Instance(AppStore) UnityEngine.Purchasing.CodelessIAPStoreListener:get_Instance() (Имя файла: ./Runtime/Export/Debug/Debug.bindings.h Строка: 35) 2019-09-12 13:33:12.759 APPNAME[1120:325776] ПРЕДУПРЕЖДЕНИЕ: OneSignal обнаружил, что делегат вашего приложения реализует устаревший метод (application:didReceiveLocalNotification:). Обратите внимание, что этот метод официально объявлен устаревшим, и OneSignal SDK больше не будет его вызывать. Вместо этого вам следует использовать UNUserNotificationCenter. 2019-09-12 13:33:12.760 APPNAME[1120:325776] ПРЕДУПРЕЖДЕНИЕ: OneSignal обнаружил, что делегат вашего приложения реализует устаревший метод (application:handleActionWithIdentifier:forLocalNotification:completionHandler:). Обратите внимание, что этот метод официально объявлен устаревшим, и OneSignal SDK больше не будет его вызывать. Вместо этого вам следует использовать UNUserNotificationCenter. -> приложениеWillResignActive() -> приложениеDidBecomeActive() Использование объектов построителя конфигурации UnityEngine.Purchasing.StoreCatalogImpl:handleCachedCatalog(Action`1) UnityEngine.Purchasing.d__4:System.IDisposable.Dispose() (Имя файла: ./Runtime/Export/Debug/Debug.bindings.h Строка: 35) 2019-09-12 13:33:15.912 APPNAME[1120:325776] UnityIAP: запрос 1 продукта 2019-09-12 13:33:15.915 APPNAME[1120:325776] UnityIAP: запрос данных о продукте... 2019-09-12 13:33:17.167 APPNAME[1120:325776] UnityIAP: получено 1 продукт 2019-09-12 13:33:17.192 APPNAME[1120:325776] UnityIAP: квитанция приложения не найдена 2019-09-12 13:33:17.207 APPNAME[1120:325776] UnityIAP: квитанция приложения не найдена UnityIAP: Промо-интерфейс доступен для 1 товара UnityEngine.Purchasing.Promo:ProvideProductsToAds(HashSet`1) UnityEngine.Purchasing.AppleStoreImpl:OnProductsRetieved(String) Система.Действие:Вызвать() UnityEngine.Purchasing.Extension.UnityUtil:Update() (Имя файла: ./Runtime/Export/Debug/Debug.bindings.h Строка: 35) 2019-09-12 13:33:17.219 APPNAME[1120:325776] UnityIAP: добавить наблюдателя транзакций 2019-09-12 13:33:17.221 APPNAME [1120:325776] UnityIAP UnityEarlyTransactionObserver: запрос на инициацию платежей в очереди 2019-09-12 13:33:19.375 APPNAME[1120:325776] +[NSString hexStringFromData:]: нераспознанный селектор отправлен в класс 0x3b1c52dc 2019-09-12 13:33:19.791 APPNAME[1120:325776] Неперехваченное исключение: NSInvalidArgumentException: +[NSString hexStringFromData:]: нераспознанный селектор отправлен в класс 0x3b1c52dc ( 0 CoreFoundation 0x2406f933 + 150 1 libobjc.A.dylib 0x2380ae17 objc_Exception_throw + 38 2 CoreFoundation 0x240751d1 + 0 3 CoreFoundation 0x24072ee1 + 700 4 CoreFoundation 0x23f9e238 _CF_forwarding_prep_0 + 24 5 APPNAME 0x014af3c9 +[OneSignal DidRegisterForRemoteNotifications:deviceToken:] + 90 6 APPNAME 0x014c1447 -[OneSignalAppDelegate oneSignalDidRegisterForRemoteNotifications:deviceToken:] + 90 7 libdispatch.dylib 0x23bdd823 + 10 8 libdispatch.dylib 0x23bdd80f + 22 9 libdispatch.dylib 0x23bebba9 + 1524 10 Предупреждение: не удалось выполнить код поддержки для чтения данных класса Objective-C в процессе. Это может снизить качество доступной информации о типах. reFoundation 0x24031b6d + 8 11 CoreFoundation 0x24030067 + 1574 12 CoreFoundation 0x23f7f229 CFRunLoopRunSpecific + 520 13 CoreFoundation 0x23f7f015 CFRunLoopRunInMode + 108 14 GraphicsServices 0x2556fac9 GSEventRunModal + 160 15 UIKit 0x28653189 UIApplicationMain + 144 16 ИМЯ ПРИЛОЖЕНИЯ 0x000844bb основной + 202 17 libdyld.dylib 0x23c27873 + 2 ) (ллдб) Дополнительная информация: Я не знаю, изменится ли это что-нибудь, но я получаю эту ошибку в разделе «Цель» > «Возможности» > «Группы приложений»:


Изображение


Я пробовал отключать группы приложений при сборке, но ничего не изменилось.
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Неверный исполняемый файл. Исполняемый файл appname.app/Frameworks/OneSignal.framework/OneSignal содержит битовый код. (
    Anonymous » » в форуме IOS
    0 Ответы
    57 Просмотры
    Последнее сообщение Anonymous
  • Нет версий com.onesignal: OneSignal - это ошибка оценки
    Anonymous » » в форуме Android
    0 Ответы
    1 Просмотры
    Последнее сообщение Anonymous
  • PUSH-уведомления в Outsystems с Onesignal
    Anonymous » » в форуме Android
    0 Ответы
    15 Просмотры
    Последнее сообщение Anonymous
  • Локальные уведомления, не поступающие в ios, реагируют на встроенные push-уведомления
    Anonymous » » в форуме IOS
    0 Ответы
    23 Просмотры
    Последнее сообщение Anonymous
  • Неперехваченное исключение «NSInvalidArgumentException» при запуске приложения Expo iOS в режиме выпуска на физическом у
    Anonymous » » в форуме IOS
    0 Ответы
    27 Просмотры
    Последнее сообщение Anonymous

Вернуться в «IOS»