ios - 无法从 Realm 文件中读取数据

标签 ios swift realm

我想在我的应用程序中使用带有隐式数据的 Realm 文件(在单独的项目中我用数据填充它,然后复制它。模型对象在两个应用程序中是相同的)。

在模拟器上,一切都很好。但是当我在 iPhone 上运行应用程序时,Xcode 会抛出错误。

let path = (NSBundle.mainBundle().pathForResource("testLevel", ofType: "realm"))!
let config = Realm.Configuration(path: path)
let realm = try! Realm(configuration: config) // also tried try! Realm(path: path)

当我打印 .realm 文件的路径时,一切正常 - 没有 nil -

不知道如何处理,有什么想法吗? (iOS9)

错误:

fatal error: 'try!' expression unexpectedly raised an error: Error Domain=io.realm Code=2 "Operation not permitted" UserInfo={Error Code=2, NSFilePath=/var/containers/Bundle/Application/7DE151B5-42EE-45C6-8245-B57683EA64D8/sneakers.app/testLevel.realm, NSLocalizedDescription=Operation not permitted}: file /Library/Caches/com.apple.xbs/Sources/swiftlang/swiftlang-703.0.18.1/src/swift/stdlib/public/core/ErrorType.swift, line 54

最佳答案

您应用的 Resources 文件夹是只读的,因此您无法从那里直接打开可写的 Realm 文件。

您需要将其复制到您的应用程序具有写入权限的目录(例如“文档”或“应用程序支持”目录),然后尝试从那里打开它。 :)

关于ios - 无法从 Realm 文件中读取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36567278/

相关文章:

ios - 如何获取数组(或某些数据结构?)中的 Assets.xcassets 文件名

swift - 对象已被删除或失效。 ( Realm )

.net - Realm for Xamarin 中的简单迁移

ios - 从 NSDictionary 获取值时出错

ios - 在 UIScrollView 中高效加载多个 View

ios - 如何在 swift 3 中发布原始数据?

ios - 如何修复非法配置?

ios - 如何在 Swift 的枚举中选择一个带有函数的枚举值?

language-design - 为什么在 swift 中没有存储类的类型属性?

swift - 为 Swift 3 和 Xcode 8 构建 Realm