xcode 对象“RealmSwiftPermissionRole”上不存在主键属性“name”

mfpqipee  于 2022-12-27  发布在  Swift
关注(0)|答案(5)|浏览(139)

我在swift项目中使用RealmSwift作为数据库。今天,在Xcode-beta版本11中打开我的项目后,我的应用程序崩溃并出现以下错误:
由于未捕获异常“RLMException”,正在终止应用程序,原因:'对象' RealmSwiftPermissionRole '上不存在主键属性'name''
我的应用在之前版本的Xcode(10.2.1)上运行正常。RealmSwiftPermissionRole是来自Realm的类,我无法访问它。也许在他们的功能更新中,他们修复了这个bug,但现在,我搜索了很多,但没有找到任何解决方案。(我清理了项目,从模拟器中删除了应用,并再次运行项目,但没有任何变化。)有什么建议吗?

iovurdzv

iovurdzv1#

iOS 13和Xcode 11有一个问题可能会导致此问题。Realm类的所有字符串属性都被默认设置为String。您可以通过更新到最新版本(当前为3.20.0)来修复此问题,然后在Xcode上:产品-〉全新构建文件夹
如果您使用可可豆:
打开项目的Podfile,并将RealmSwift行替换为:

pod 'RealmSwift', '~> 4.4.1'

然后,在项目文件夹中打开终端,并:

pod repo update
pod install
2hh7jdfx

2hh7jdfx2#

Realm的开发人员已经开始在Xcode 11 compatibility上工作。
在Xcode测试版中使用Realm需要从源代码构建,并且通常需要使用dev分支而不是releases。
"迦太基"
第一个月
DEVELOPER_DIR=/Applications/Xcode-beta.app/Contents/Developer carthage bootstrap -no-use-binaries

可可豆

pod 'Realm', git: 'https://github.com/realm/realm-cocoa.git', branch: 'tg/xcode-11-b1', submodules: true
pod 'RealmSwift', git: 'https://github.com/realm/realm-cocoa.git', branch: 'tg/xcode-11-b1', submodules: true

  • 需要显式地将Realm pod作为依赖项包括在内,否则它将尝试使用obj-c部分的最新版本。*

注意最后一句话,你必须把Realm pod作为一个依赖项,否则它将使用非beta版本,并且它不会工作。

rta7y2nd

rta7y2nd3#

我在RealmSwift 4.3.1中也遇到过同样的问题,问题是我忘记将属性标记为 @objc

@objc dynamic var id = ""
ar5n3qh5

ar5n3qh54#

尝试删除并重新安装应用程序。

v1l68za4

v1l68za45#

对我来说,
正在将领域更新为pod 'RealmSwift', '~> 3.20.0'
并更新pod install
对我有用。

相关问题