我如何将领域与Swift 4结合使用?
我试图在新的Xcode 9 beta版中运行我当前的项目,但是当我这样做时,它说用Swift 3.1编译的我如何将领域与Swift 4结合使用?,swift,xcode,realm,xcode9-beta,swift4,Swift,Xcode,Realm,Xcode9 Beta,Swift4,我试图在新的Xcode 9 beta版中运行我当前的项目,但是当我这样做时,它说用Swift 3.1编译的模块无法导入Swift 4.0。我怎样才能解决这个问题?我没有使用cocoapods。更新:从2017-09-14发布的v2.10.1开始,Realm的预构建二进制文件包括使用Xcode 9为Swift 3.2和4.0构建的框架。不再需要自己建造它们 下面的信息仍然与任何希望在将来将Realm与预发布版本的Xcode一起使用的人相关 如果您当前正在集成Realm的预构建二进制文件,则需要从
模块无法导入Swift 4.0
。我怎样才能解决这个问题?我没有使用cocoapods。更新:从2017-09-14发布的v2.10.1开始,Realm的预构建二进制文件包括使用Xcode 9为Swift 3.2和4.0构建的框架。不再需要自己建造它们
下面的信息仍然与任何希望在将来将Realm与预发布版本的Xcode一起使用的人相关
如果您当前正在集成Realm的预构建二进制文件,则需要从源代码切换到构建Realm,以支持Swift 3.2和4.0,因为Realm不会为Xcode的预发布版本发布预构建二进制文件。您可以通过以下三种方式之一从源代码构建领域:
git克隆——递归https://github.com/realm/realm-cocoa.git
cd王国可可
git checkout v2.10.0
然后运行以下与您关心的平台相对应的命令,为该平台构建Realm Swift框架:
REALM\u SWIFT\u VERSION=4.0 sh build.sh ios SWIFT
REALM\u SWIFT\u VERSION=4.0 sh build.sh osx SWIFT
REALM\u SWIFT\u VERSION=4.0 sh build.sh watchos SWIFT
REALM\u SWIFT\u VERSION=4.0 sh build.sh tvos SWIFT
构建的框架将被放置在Realm源代码中的build
目录中,在那里您可以像集成Realm提供的预构建二进制文件一样集成它们
这些构建的框架还应与使用Swift 3.2的应用程序配合使用,因为它使用与Swift 4.0相同的编译器作为bdash第3项关于如何从源代码手动构建领域的后续内容,以及回答addzo关于xcodebuild错误的问题(我也遇到了这个问题):确保为您的Xcode9设置了iPhone6模拟器以避免该错误。我认为Realm的构建脚本必须以它为目标。无论如何,这为我解决了问题。请你再解释一下第三个选项好吗?但非常感谢您的回复。您有什么特别需要我澄清的吗?该目录是在您运行
sh build.sh ios swift
或我列出的任何其他构建命令时创建的。如果您没有看到目录,我建议共享您在build.sh
调用中看到的输出。我无法构建框架,因为它缺少一些源文件。签出领域源代码后,还有一个步骤要做。来自Realm docs:如果从git克隆,则需要子模块:git子模块更新--init--recursiveYes,Realm Swift与Swift 3.0以后的所有装运Swift版本的源代码兼容。此处仅为初学者,但如果在appdelegate文件中导入RealmSwift,则会出现该错误,如果从appdelegate文件中删除import RealmSwift,则错误会消失。您可以在其他相关文件中导入RealmSwift。我没有使用pods方法来合并RealmSwift,而是使用了Lynda.com中使用的框架拖放技术。很简单。