【发布时间】:2016-06-16 14:10:44
【问题描述】:
我想知道是否已经可以在 Swift 3.0 的 beta 版中使用 Realm。
虽然我在 Realm 存储库中看到了 RealmSwift-swift3.0 目录,但我没有成功正确使用它。我应该如何从源代码安装它?
【问题讨论】:
我想知道是否已经可以在 Swift 3.0 的 beta 版中使用 Realm。
虽然我在 Realm 存储库中看到了 RealmSwift-swift3.0 目录,但我没有成功正确使用它。我应该如何从源代码安装它?
【问题讨论】:
您可以将 Realm 与 Swift 3.0 一起使用,但要考虑到当前版本仍然是绝对实验性的。
您可以从 GitHub 克隆 realm-cocoa 存储库的 master 分支。
或者你可以使用迦太基:
github "realm/realm-cocoa.git" "master"
或者,如果您更喜欢 CocoaPods:
pod 'RealmSwift', :git => 'https://github.com/realm/realm-cocoa.git', :branch => 'master'
如果您使用 Carthage,请记住您必须手动添加 Realm 和 RealmSwift 框架(忽略 IBAnimatable 框架):
事实上,我有一个使用 Xcode 8、Swift 3 和 Realm 的项目,它运行良好 :)
【讨论】:
sudo xcode-select -switch /Applications/Xcode-beta.app/Contents/Developer 是我用来将默认命令行工具更改为 Xcode 8 的命令。在使用 carthage update 之前执行此操作并告诉我它是否有效。
array.appendContentsOf(realm.objects(Label)) 更改为array.append(contentsOf: realm.allObjects(ofType: Label))。还有很多其他问题
Label 更改为Label.self 以获取要编译的代码。不幸的是,这是 Swift 3 的变化,Realm 无法控制。
pod 'RealmSwift', :git => 'https://github.com/realm/realm-cocoa.git', :submodules => truepod 'Realm', :git => 'https://github.com/realm/realm-cocoa.git', :submodules => true
从 1.1.0 版本开始,Realm 正式兼容 Swift 3.0/Xcode 8.0。见here。
此版本带来了对 Xcode 8、Swift 2.3 和 Swift 的官方支持 3.0。预构建框架现在使用 Xcode 7.3.1 和 Xcode 8.0 构建。
这是安装文档的摘录:
如果使用 Xcode 8,请将以下内容粘贴到 Podfile 的底部, 必要时更新 Swift 版本:
post_install do |installer| installer.pods_project.targets.each do |target| target.build_configurations.each do |config| config.build_settings['SWIFT_VERSION'] = '2.3' # or '3.0' end end end
【讨论】:
Realm 发布新版本1.1.0。如果你使用Cocoapods建议你检查这个PR并安装版本1.1.0.rc.2以避免编译错误Use Legacy Swift Language Version。
【讨论】: