olvide - Bloqueos de iOS: ''Foundation_NSXPCSerializationAddData''
restricciones ios 12 (0)
Obtuve un extraño bloqueo EXC_BAD_ACCESS dentro del método _NSXPCSerializationAddData
de _NSXPCSerializationAddData
. Sucede con bastante frecuencia, pero no puedo obtener ninguna información significativa del seguimiento de la pila.
La única pista es que el bloqueo ocurre dentro del subproceso com.apple.UNSNotificationSchedulerConnection
, pero no tengo idea de qué se trata. He usado la notificación local para alertar al usuario, ¿esta falla está relacionada con NSLocalNotification
? ¿Alguien puede ayudar?
Stacktrace de Crashlytics:
Crashed: com.apple.UNSNotificationSchedulerConnection
0 libsystem_platform.dylib 0x2491e164 _platform_memmove$VARIANT$CortexA9 + 40
1 Foundation 0x25351825 _NSXPCSerializationAddData + 156
2 Foundation 0x25351825 _NSXPCSerializationAddData + 156
3 UIKit 0x297f78f3 -[UIConcreteLocalNotification encodeWithCoder:] + 526
4 Foundation 0x253418b7 -[NSXPCEncoder _encodeObject:] + 618
5 Foundation 0x253a2d83 -[NSXPCEncoder _encodeArrayOfObjects:forKey:] + 210
6 Foundation 0x253418b7 -[NSXPCEncoder _encodeObject:] + 618
7 Foundation 0x25341ceb encodeInvocationArguments + 306
8 Foundation 0x25341a47 -[NSXPCEncoder encodeInvocation:] + 362
9 Foundation 0x253418b7 -[NSXPCEncoder _encodeObject:] + 618
10 Foundation 0x254ecb0f -[NSXPCConnection _sendInvocation:withProxy:remoteInterface:withErrorHandler:timeout:userInfo:] + 2158
11 Foundation 0x254ec22b -[NSXPCConnection _sendInvocation:withProxy:remoteInterface:] + 46
12 Foundation 0x25340c47 -[_NSXPCDistantObject forwardInvocation:] + 82
13 CoreFoundation 0x24bf2d83 ___forwarding___ + 350
14 CoreFoundation 0x24b1e238 _CF_forwarding_prep_0 + 24
15 UserNotificationServices 0x262a1c67 __107-[UNSNotificationSchedulerConnection cancelScheduledLocalNotifications:forBundleIdentifier:withCompletion:]_block_invoke + 62
16 libdispatch.dylib 0x2475d823 _dispatch_call_block_and_release + 10
17 libdispatch.dylib 0x2476a423 _dispatch_queue_drain$VARIANT$mp + 1758
18 libdispatch.dylib 0x24769a61 _dispatch_queue_invoke$VARIANT$mp + 284
19 libdispatch.dylib 0x2476c5e9 _dispatch_root_queue_drain + 1560
20 libdispatch.dylib 0x2476bfcd _dispatch_worker_thread3 + 96
21 libsystem_pthread.dylib 0x24921b29 _pthread_wqthread + 1024
22 libsystem_pthread.dylib 0x24921718 start_wqthread + 8
Encuentre el código para programar la notificación,
//Appdelgate.h file
@property (strong, nonatomic) UILocalNotification *alarm;
//AppDelegate.m file
self.alarm = [[UILocalNotification alloc] init];
self.alarm.timeZone = [NSTimeZone defaultTimeZone];
self.alarm.soundName = UILocalNotificationDefaultSoundName;
//MainController.m file
[AppDelegate application].alarm.fireDate = alarmDueTime;
NSDictionary *userInfoDictionary = @ {
@"id" :@1
};
[AppDelegate application].alarm.userInfo = userInfoDictionary;
[AppDelegate application].alarm.alertBody = localNotificationMessage;
[[UIApplication sharedApplication] scheduleLocalNotification:[AppDelegate application].alarm];