ios - 收到 Voip Push 后崩溃
<p><p>在测试 Voip Pushes 时遇到了这个错误</p>
<pre><code>2016-10-19 14:03:26.809 linphone Can't endBackgroundTask: no background task exists with identifier c6, or it may have already been ended. Break in UIApplicationEndBackgroundTaskError() to debug.
Oct 19 14:03:26linphone <Notice>: ios/(honeAppDelegate.m:492 ) PushKit received with payload : <PKPushPayload: 0x14ee5b30>
Oct 19 14:03:26linphone <Notice>: ios/(honeAppDelegate.m:494 ) incoming voip notfication: {
aps = {
alert = Testando;
};
}
2016-10-19 14:03:26.818 linphone -: unrecognized selector sent to instance 0x18e5c760
2016-10-19 14:03:26.821 linphone Crash: -: unrecognized selector sent to instance 0x18e5c760
2016-10-19 14:03:26.902 linphone Stack Trace: (
0 CoreFoundation 0x24bff933 <redacted> + 150
1 libobjc.A.dylib 0x2439ae17 objc_exception_throw + 38
2 CoreFoundation 0x24c052b5 <redacted> + 0
3 CoreFoundation 0x24c02ee1 <redacted> + 700
4 CoreFoundation 0x24b2e238 _CF_forwarding_prep_0 + 24
5 linphone 0x0002ee2f - + 214
6 linphone 0x00030f15 __78-_block_invoke_2 + 96
7 libdispatch.dylib 0x012ddb7f _dispatch_call_block_and_release + 10
8 libdispatch.dylib 0x012ddb6b _dispatch_client_callout + 22
9 libdispatch.dylib 0x012e2655 _dispatch_main_queue_callback_4CF + 1680
10CoreFoundation 0x24bc1b6d <redacted> + 8
11CoreFoundation 0x24bc0067 <redacted> + 1574
12CoreFoundation 0x24b0f229 CFRunLoopRunSpecific + 520
13CoreFoundation 0x24b0f015 CFRunLoopRunInMode + 108
14GraphicsServices 0x260ffac9 GSEventRunModal + 160
15UIKit 0x291e3189 UIApplicationMain + 144
16linphone 0x0002b949 main + 124
17libdyld.dylib 0x247b7873 <redacted> + 2
)
2016-10-19 14:03:26.907 linphone *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-: unrecognized selector sent to instance 0x18e5c760'
*** First throw call stack:
(0x24bff91b 0x2439ae17 0x24c052b5 0x24c02ee1 0x24b2e238 0x2ee2f 0x30f15 0x12ddb7f 0x12ddb6b 0x12e2655 0x24bc1b6d 0x24bc0067 0x24b0f229 0x24b0f015 0x260ffac9 0x291e3189 0x2b949 0x247b7873)
libc++abi.dylib: terminating with uncaught exception of type NSException
(lldb)
</code></pre>
<p>这是应用程序崩溃时 XCode 指向我的代码。</p>
<pre><code>- (void)processRemoteNotification:(NSDictionary *)userInfo {
NSDictionary *aps = ;
if (aps != nil) {
NSDictionary *alert = ;
if (alert != nil) {
NSString *loc_key = ;
/* if we receive a remote notification, it is probably because our TCP background socket was no more working.
As a result, break it and refresh registers in order to make sure to receive incoming INVITE or MESSAGE*/
if (linphone_core_get_calls(LC) == NULL) { // if there are calls, obviously our TCP socket shall be working
//linphone_core_set_network_reachable(LC, FALSE);
if (!linphone_core_is_network_reachable(LC)) {
LinphoneManager.instance.connectivity = none; //Force connectivity to be discovered again
;
}
if (loc_key != nil) {
NSString *callId = ;
if (callId != nil) {
;
} else {
LOGE(@"PushNotification: does not have call-id yet, fix it !");
}
if () {
;
}
}
}
}
}
LOGI(@"Notification %@ processed", userInfo.description);
}
</code></pre>
<p>如您所见,我确实收到了推送通知,但仅在日志中,它不会在我的手机上弹出并且应用程序崩溃。</p></p>
<br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
<p><p>您正在访问“alert”字典中键“loc-key”的值,而有效负载“alert”字典中没有此键的值,因此它在 <code>NSString *loc_key = 处崩溃;
</code></p></p>
<p style="font-size: 20px;">关于ios - 收到 Voip Push 后崩溃,我们在Stack Overflow上找到一个类似的问题:
<a href="https://stackoverflow.com/questions/40136653/" rel="noreferrer noopener nofollow" style="color: red;">
https://stackoverflow.com/questions/40136653/
</a>
</p>
页:
[1]