将RealmSwift转换为Xcode9 / Swift 4
environmentXcode:9.0 GM(9A235) 斯威夫特:4.0 迦太基:0.25.0(于2017/9/12尝试)
在现有的xcode项目中,如果将swift版本转换为4,可能会看到此错误。
通常我必须能够通过迦太基使用它,但是现在我不能了。
看来问题在于RealmSwift并未针对Swift 4采取措施。
因此,让我分享我如何解决它。
https://stackoverflow.com/questions/44640852/how-can-i-use-realm-with-swift-4
https://ja.stackoverflow.com/questions/28951/realm%E3%81%8Cbuild-%E3%81%A7%E3%81%8D%E3%81%AA%E3%81%84(日语)
在此之前,请确认xcodebuild版本。
$ sudo xcode-select -s /Applications/Xcode9.app $ xcodebuild-版本 Xcode 9.0 内部版本9A235
- 将Swift版本更改为4
选择TARGETS,然后移至Build Settings> Swift Language Version。
选择Swift 4。
2.自己构建RealmSwift
一种。 现在,手动下载RealmSwift
$ git clone-递归https://github.com/realm/realm-cocoa.git $ cd领域可可 $ git checkout v2.10.0
b。 获取子模块
#在realm-cocoa目录的根目录 $ git子模块更新--init
C。 使用脚本构建,通过所需的设备传递参数
如果忘记上一步,构建将失败 $ REALM_SWIFT_VERSION = 4.0 sh build.sh ios交换
这需要时间。
※或者您可以选择其他设备。
$ REALM_SWIFT_VERSION = 4.0 sh build.sh osx-swift $ REALM_SWIFT_VERSION = 4.0 sh build.sh watchos-swift $ REALM_SWIFT_VERSION = 4.0 sh build.sh tvos-swift
d。 知道了! 二进制文件将在realm-cocoa / build / ios / swift-4.0目录中生成 。
您只需用新的内容替换旧的框架。
做得好! 任务完成。
在我的私人项目中,向Swift 4的转换很容易(我只需要修复NSAttributedStringKey并在关键字“ dynamic”之前添加@objc注释即可。Xcode9教会了我应该做的一切。)
谢谢阅读! 快乐的编码。