Проблема с аварийным завершением приложения iOS на заставке с помощью Push-уведомления Clevertap на Mobilefirst V7.1 - PullRequest
0 голосов
/ 04 мая 2018

Приложение для мобильных устройств iOS вылетает после нажатия Push-уведомления и отображения следующей ошибки. Наблюдается сбой для Push-уведомления Clevertap, когда приложение закрывается. Сбой не происходит, когда мобильное приложение находится в фоновом режиме или на переднем плане. Приложение построено с использованием Mobilefirst V7.1, и все библиотеки и методы Mobilefirst используются для обработки push-уведомлений в приложении iOS.

Мы попытались извлечь журналы с устройства и получили журналы до сбоя приложения.

2018-04-30 15:07:39.466141+0530 AppDev[1386:622734] [DEBUG] [WL_AFHTTPRequestOperationManagerWrapper_PACKAGE] -[WLAFHTTPRequestOperationManagerWrapper start] in WLAFHTTPRequestOperationManagerWrapper.m:356 :: Starting the request with URL https://wls.**.co.in:80/Dev/apps/services/api/AppDev/iphone/query

2018-04-30 15:07:40.337279+0530 AppDev[1386:619825] [FATAL] [WORKLIGHT] Uncaught Exception: *** -[__NSArrayI objectAtIndex:]: index 1 beyond bounds [0 .. 0]

2018-04-30 15:07:40.355216+0530 AppDev[1386:619825] *** Terminating app due to uncaught exception 'NSRangeException', reason: '*** -[__NSArrayI objectAtIndex:]: index 1 beyond bounds [0 .. 0]'

*** First throw call stack:
(0x182653d38 0x181b68528 0x1825ecc44 0x18251cdbc 0x100574328 0x100573dcc 0x18302c4c4 0x1825fc99c 0x1825fc6c0 0x1825fbec0 0x1825f9aa8 0x18251a2d8 0x1843abf84 0x18bac7880 0x100477f4c 0x18203e56c)
libc++abi.dylib: terminating with uncaught exception of type NSException

Я не могу определить проблему, существует ли проблема в библиотеках Mobilefirst или Clevertap. Но журналы ясно указывают на проблему на Mobilefirst.

Ответы [ 2 ]

0 голосов
/ 08 мая 2018

Эта проблема возникает из-за того, что оба MFP SDK не могут проанализировать формат push-уведомлений, отправляемых из CleverTap. Когда приложение запускается, плагины MFP Push и CleverTap конкурируют за сообщение, и, по всей вероятности, плагин MFP Push приходит первым и пытается прочитать сообщение.

Поскольку CleverTap SDK уже присутствует в приложении, вы можете отключить плагин MFP Push, чтобы только CleverTap SDK считывал все уведомления.

Для этого перейдите к:

<Workspace>/<HybridProjectName>/apps/<HybridApplication>/iphone/native 

папка.

Здесь откройте файл config.xml и найдите следующие строки:

<feature name="Push">
        <param name="ios-package" value="Push" />
        <param name="onload" value="true" />
</feature>

Изменить на:

<param name="onload" value="false" />

Это предотвращает загрузку подключаемого модуля MFP Push.

Примечание. Это изменение будет отменено, если вы перестроите среду iPhone / iPad.

0 голосов
/ 08 мая 2018

Каким-то образом мы можем справиться с проблемой сбоя, просто изменив файл конфигурации для приложения iOS. Мы прокомментировали стандартную обработку push-сообщений в файле конфигурации, и теперь приложение не падает при нажатии на Push-сообщение. Но мы не можем прочитать push-сообщение и не можем показать детали Push-сообщения в сообщении с предупреждением при открытии приложения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...