iOS 应用程序崩溃问题在 Mobilefirst V7.1 上使用 Clevertap 推送通知的初始屏幕上



iOS 移动应用程序在单击推送通知并显示以下错误后崩溃。当应用程序关闭时,正在观察到Clevertap推送通知的崩溃。当移动应用程序处于后台或前台时,不会发生崩溃。该应用程序是使用 Mobilefirst V7.1 构建的,所有 Mobilefirst 库和方法都用于处理 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图书馆上都有问题。但日志清楚地表明问题出在移动优先上。

不知何故,我们能够管理崩溃问题,只需更改iOS应用程序的配置文件即可。我们已经注释掉了配置文件中的默认推送消息处理,现在应用程序在单击推送消息时不会崩溃。但是我们无法阅读推送消息,也无法在打开应用程序时在警报消息中显示推送消息的详细信息。

出现此问题的原因是两个 MFP SDK 都无法解析从 CleverTap 发送的推送通知的格式。当应用程序启动MFP Push和CleverTap插件时,MFP Push插件很可能会首先到达那里并尝试读取消息。

由于应用程序中已经存在 CleverTap SDK,因此您可以关闭 MFP 推送插件,以确保只有 CleverTap SDK 读取所有通知。

为此,请导航到:

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

文件夹。

在这里打开配置.xml并找到这些行:

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

更改为:

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

这会阻止加载 MFP 推送插件。

注意:如果您重新构建 iPhone/iPad 环境,此更改将被覆盖。

最新更新