ios - 应用更新后 CoreData 崩溃
<p><p>我有一个非常烦人的问题。我有一个“CoreData”应用程序,目前正在生产中,一切正常。我有应用程序的更新,但只要在原始应用程序上安装更新程序,应用程序就会在下面的代码行中崩溃。</p>
<pre><code>
</code></pre>
<p>我收到的错误是“Can't use fetch request with fetched property description (entity model mismatch)”。</p>
<p>CoreData 模型发生了更改,但我为我的更改创建了一个新版本的模型,因此它应该将更改合并到新模型中。这是我已经做了一百次的相同过程,并且始终有效。这次除外。</p>
<p>我能想到的唯一可能导致此问题的区别是,我从 CoreData 模型中删除了一些旧的 Fetch Requests,但这是在更新的模型版本中完成的,而不是在原始模型中完成的。</p>
<p>你们都知道是什么原因造成的吗?正如我所提到的,我确实更新了 CoreData 模型版本并将其选为应用程序的当前模型。此外,非常奇怪的是,只有在更新后第一次运行应用程序时才会发生崩溃。崩溃发生后,我可以重新启动应用程序,一切正常。</p>
<p>谢谢!</p>
<p>!** 编辑**!</p>
<p>如果这有帮助,这里是我的调用堆栈。</p>
<pre><code>Last Exception Backtrace:
0 CoreFoundation 0x32ac029e __exceptionPreprocess + 158
1 libobjc.A.dylib 0x3a95697a objc_exception_throw + 26
2 CoreFoundation 0x32ac01c0 + + 100
3 CoreData 0x328a2678 - + 164
4 CoreData 0x328a2788 - + 76
5 CoreData 0x32899b0a - + 1238
6 CoreData 0x328d18a6 - + 702
7 CoreData 0x3284e534 - + 272
8 CoreData 0x3284e2f2 - + 302
9 CoreData 0x32939c4c - + 692
10CoreData 0x328da838 - + 512
11CoreData 0x3292bc54 - + 276
12CoreData 0x3292afa8 - + 84
13CoreData 0x3292c4b2 - + 1930
14CoreData 0x3284f384 - + 3340
15MSM iPad 0x001cb4c2 - + 466
16MSM iPad 0x001cbb12 - + 94
17MSM iPad 0x000b6678 - (AppDelegate.m:117)
18UIKit 0x34928ad4 - + 248
19UIKit 0x3492865e - + 1186
20UIKit 0x34920846 - + 694
21UIKit 0x348c8c34 - + 1000
22UIKit 0x348c86c8 - + 68
23UIKit 0x348c8116 _UIApplicationHandleEvent + 6150
24GraphicsServices 0x365bc59e _PurpleEventCallback + 586
25GraphicsServices 0x365bc1ce PurpleEventCallback + 30
26CoreFoundation 0x32a9516e __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 30
27CoreFoundation 0x32a95112 __CFRunLoopDoSource1 + 134
28CoreFoundation 0x32a93f94 __CFRunLoopRun + 1380
29CoreFoundation 0x32a06eb8 CFRunLoopRunSpecific + 352
30CoreFoundation 0x32a06d44 CFRunLoopRunInMode + 100
31UIKit 0x3491f480 - + 664
32UIKit 0x3491c2fc UIApplicationMain + 1116
33MSM iPad 0x000b6432 main (main.m:17)
34libdyld.dylib 0x3ad8db1c start + 0
</code></pre></p>
<br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
<p><p>我发现我必须在应用更新后删除缓存:</p>
<p>要么不缓存获取的项目</p>
<pre><code> NSFetchedResultsController *aFetchedResultsController = [ initWithFetchRequest:fetchRequest managedObjectContext:self.managedObjectContext sectionNameKeyPath:nil cacheName:nil];
</code></pre>
<p>或在更新时删除缓存</p>
<pre><code>;
</code></pre></p>
<p style="font-size: 20px;">关于ios - 应用更新后 CoreData 崩溃,我们在Stack Overflow上找到一个类似的问题:
<a href="https://stackoverflow.com/questions/18622056/" rel="noreferrer noopener nofollow" style="color: red;">
https://stackoverflow.com/questions/18622056/
</a>
</p>
页:
[1]