gpt4 book ai didi

ios - 轻量级迁移/addPersistentStoreWithType 挂起应用程序启动?

转载 作者:行者123 更新时间:2023-11-29 03:42:24 24 4
gpt4 key购买 nike

几十个 iOS 6 用户遇到了一个问题,addPersistentStoreWithType 似乎挂起了应用程序,但似乎并没有影响数十万其他活跃用户。谷歌搜索和搜索开发论坛还没有帮助。我正在调用此应用程序,但该应用程序对某些用户来说只是挂起。

options = @{NSMigratePersistentStoresAutomaticallyOption:@YES, NSInferMappingModelAutomaticallyOption: @YES, NSPersistentStoreFileProtectionKey: NSFileProtectionCompleteUnlessOpen};
[self.persistentStoreCoordinator addPersistentStoreWithType:NSSQLiteStoreType configuration:nil URL:storeUrl options:options error:&addPersistentStoreError];

我在文档中没有看到任何内容表明这可能会引发异常或为什么它会因任何原因死锁/挂起。这些用户每次启动时都会重复发生这种情况,从而阻止用户启动应用程序(除非重新安装)。我们得到的崩溃日志都有异常代码 0x000000008badf00d(任何导致主线程花费太长时间的原因)。

什么可能导致 addPersistenStoreWithType 像这样挂起?

最佳答案

我也遇到了同样的问题。用户拥有非常庞大的数据。我的应用程序在 addPersistentStoreWithType 方法处卡住。具体来说,我在 iPad2 中面临这个问题。 iPad3 中的数据迁移工作完美。我们在高优先级线程中添加了持久存储,并在迁移发生时向用户显示一些内容。

(void)performLightweightMigrationInBackgroundWithStoreURL:(NSURL *)storeURL
{
[self.initializerDelegate willStartMigration];
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0), ^(void){
NSDictionary *storeOptions = [NSDictionary dictionaryWithObjectsAndKeys:[NSNumber numberWithBool:YES], NSMigratePersistentStoresAutomaticallyOption, [NSNumber numberWithBool:YES], NSInferMappingModelAutomaticallyOption, nil];

NSError *error = nil;
if (![_persistentStoreCoordinator addPersistentStoreWithType:NSSQLiteStoreType configuration:nil URL:storeURL options:storeOptions error:&error]) {
dispatch_async(dispatch_get_main_queue(), ^(void){
// we showed an alert message for migration failure
});
} else {
dispatch_async(dispatch_get_main_queue(), ^(void){
// we showed an alert message for successful migration
});
}
});
}

关于ios - 轻量级迁移/addPersistentStoreWithType 挂起应用程序启动?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18216487/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com