主包中的 Realm realmWithPath 方法在 iOS 上崩溃
Posted
技术标签:
【中文标题】主包中的 Realm realmWithPath 方法在 iOS 上崩溃【英文标题】:Realm realmWithPath method in main bundle crashes on iOS 【发布时间】:2014-10-11 22:50:31 【问题描述】:我不在应用程序的 Document 目录中使用 *.realm 文件。我在主捆绑目录中使用它。
当我调用它时:
NSString *path = [[NSBundle mainBundle] pathForResource:@"example" ofType:@"realm"];
RLMRealm *realm = [RLMRealm realmWithPath:path];
它崩溃并记录:
由于未捕获的异常“RLMException”而终止应用程序,原因:“open() failed: Operation not allowed”
【问题讨论】:
【参考方案1】:Realm 文件必须位于您具有写入权限的目录中,以防您希望能够更新任何数据。 如果您只打算在您的应用中分发预设数据库并以只读方式访问它,则必须使用[RLMRealm realmWithPath:readOnly:error:] 以只读方式打开它。
【讨论】:
这个答案是正确的。 Realm 文档中的更多信息:realm.io/docs/cocoa/latest/#other-realms以上是关于主包中的 Realm realmWithPath 方法在 iOS 上崩溃的主要内容,如果未能解决你的问题,请参考以下文章