我下载了新的 xCode 8 测试版。当我打开我的旧项目(在 swift 2.2 中)时,我点击了转换为新的 swift 语法,然后我点击了 swift 3。问题是我使用的是通过 carthage (Kanna) 下载的框架。我曾尝试使用:
迦太基更新
但它不起作用。
当我尝试在新的 Xcode-beta 上运行代码时,我收到此错误:
模块文件是由旧版本的编译器创建的;重建'Kanna'并重试:
首先保存当前项目的备份。现在!
使用 Xcode 7.3.1 打开您的项目,它使用 Swift 2.2,因此它会向您发出一堆错误信号。由于您了解 Swift 2.2,您应该能够修复错误并使您的项目再次与 Swift 2.2 兼容
在 Xcode 8 beta 中,您可以选择 Swift 版本(Swift 2.3 或 Swift 3.0)。选择 Swift 2.3(它与 Swift 2.3 完全兼容,但确实支持新的 iOS API)。然后,再次手动修复错误。
打开您正在使用的库并使用 Xcode 8 将其升级到 Swift 3.0。这是一个临时解决方案,直到该库的开发人员提供升级后的代码
似乎我回答得太晚了,但是支持 swift 3.0 的“Kanna”框架有可用的更新。如果您使用 CocoaPods,您可以将其添加到您的podfile
use_frameworks!
pod 'Kanna', '~> 2.0.0'
或者对于迦太基,您可以像这样安装
github "tid-kijyun/Kanna" ~> 2.0.0
当您第一次使用 Xcode 8.0 打开项目时,迁移助手会提示您执行迁移过程。也可以从菜单中手动调用助手
Edit -> Convert -> To Current Swift Syntax…
如果您将代码(例如 2.3 到 3.0)升级到现在想要降级到 2.3,您可以使用上面的代码。如果发生任何错误,请从存储库中的最后一次提交复制您的代码,它应该可以正常工作。