Ich gehe davon aus, dass es in Ordnung ist, Beta iOS10 Probleme hier zu veröffentlichen, da es eine offene Beta ist. Die Apple-Foren kommen der Hilfe, die man auf Stackoverflow bekommt, nicht nahe.iOS10 Open Beta - iOS Core Data Absturz beim Speichern
Seit dem Update auf iOS10 bekommen unsere Benutzer einen konstanten Absturz beim Speichern des managedObjectContext in CoreData.
Dies ist etwas, das einwandfrei, da iOS 5.
Es kommt nur auf die 64-Bit-Version von iOS10 gearbeitet hat. Die 32-Bit-Version funktioniert gut.
Hier ist mein einfacher Code-Schnipsel sparen:
[self.managedObjectContext performBlockAndWait:^{
NSError *error;
if (![self.managedObjectContext save:&error])
{
NSLog(@"\n\nerror in save 1 %@\n\n", error);
}
}];
[self.managedObjectContext performBlock:^{
NSError *error;
if (![_privateWriterContext save:&error])
{
NSLog(@"\n\nerror in save 2 %@\n\n", error);
}
}];
(Above NSLog berichtet nichts, wie es in Simulator funktioniert).
Dies schlägt nur auf einem 64-Bit-Gerät fehl. Ich kann nicht auf dem Simulator replizieren. Ich kann auch nicht im Debug auf einem Gerät replizieren, da Probleme mit meinem 64-Bit-Gerät nicht korrekt mit Xcode verbunden sind. Also bin ich ein bisschen festgefahren.
Unten finden Sie eine Probe-Stack-Trace von einem Benutzer gemeldet:
Incident Identifier: 7A8DD23B-48A2-4ABF-88E7-67F1E6CDA8D5
CrashReporter Key: 5454e7c7b99a94cd75b6adfa8334bbdf10b859eb
Hardware Model: iPhone8,1
Code Type: ARM-64 (Native)
Role: Foreground
Parent Process: launchd [1]
Date/Time: 2016-07-20 22:23:00.1429 -0400
Launch Time: 2016-07-20 22:21:30.6058 -0400
OS Version: iPhone OS 10.0 (14A5309d)
Report Version: 104
Exception Type: EXC_BAD_ACCESS (SIGSEGV)
Exception Subtype: KERN_INVALID_ADDRESS at 0x0000000985e4beb8
Triggered by Thread: 0
Thread 0 name:
Thread 0 Crashed:
0 libobjc.A.dylib 0x00000001850e6eb0 objc_msgSend + 16
1 CoreFoundation 0x0000000185a76740 __CFNOTIFICATIONCENTER_IS_CALLING_OUT_TO_AN_OBSERVER__ + 20 (CFNotificationCenter.c:650)
2 CoreFoundation 0x0000000185a75e44 _CFXRegistrationPost + 400 (CFNotificationCenter.c:164)
3 CoreFoundation 0x0000000185a75bc0 ___CFXNotificationPost_block_invoke + 60 (CFNotificationCenter.c:1031)
4 CoreFoundation 0x0000000185ae40cc -[_CFXNotificationRegistrar find:object:observer:enumerator:] + 1504 (CFXNotificationRegistrar.m:163)
5 CoreFoundation 0x00000001859b9484 _CFXNotificationPost + 376 (CFNotificationCenter.c:1028)
6 Foundation 0x000000018644e9dc -[NSNotificationCenter postNotificationName:object:userInfo:] + 68 (NSNotification.m:482)
7 CoreData 0x0000000187e1dbf4 -[NSManagedObjectContext(_NSInternalNotificationHandling) _postContextDidSaveNotificationWithUserInfo:] + 880 (NSManagedObjectContext.m:7381)
8 CoreData 0x0000000187dabb4c -[NSManagedObjectContext(_NSInternalAdditions) _didSaveChanges] + 2156 (NSManagedObjectContext.m:5827)
9 CoreData 0x0000000187d98570 -[NSManagedObjectContext save:] + 3440 (NSManagedObjectContext.m:1532)
10 App 0x000000010008db34 __29-[RPSAppDelegate saveContext]_block_invoke227 + 52 (RPSAppDelegate.m:338)
11 CoreData 0x0000000187e17c68 developerSubmittedBlockToNSManagedObjectContextPerform + 168 (NSManagedObjectContext.m:3529)
12 libdispatch.dylib 0x0000000185525784 _dispatch_client_callout + 16 (object.m:455)
13 libdispatch.dylib 0x000000018552a330 _dispatch_main_queue_callback_4CF + 1000 (inline_internal.h:2421)
14 CoreFoundation 0x0000000185a8a0cc __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ + 12 (CFRunLoop.c:1793)
15 CoreFoundation 0x0000000185a87cb8 __CFRunLoopRun + 1660 (CFRunLoop.c:3004)
16 CoreFoundation 0x00000001859b78d8 CFRunLoopRunSpecific + 444 (CFRunLoop.c:3113)
17 GraphicsServices 0x00000001873be198 GSEventRunModal + 180 (GSEvent.c:2245)
18 UIKit 0x000000018b9617c8 -[UIApplication _run] + 664 (UIApplication.m:2651)
19 UIKit 0x000000018b95c534 UIApplicationMain + 208 (UIApplication.m:4088)
20 App 0x000000010008c138 main + 152 (main.m:27)
21 libdyld.dylib 0x00000001855585b8 start + 4
Danke für alle Ideen.
Huch! Vielen Dank. Ich starrte es so sehr an und ich sah es nicht einmal. Ich kann nicht glauben, dass es vorher funktioniert hat. Danke noch einmal! – mtb
Das hat möglicherweise ein anderes zugrunde liegendes Problem behoben, das nicht aufgedeckt wurde, aber anscheinend nicht die Ursache für den oben beschriebenen Absturz war. Irgendwelche anderen Ideen oder Vorschläge? – mtb