3

我下载了新的 xCode 8 测试版。当我打开我的旧项目(在 swift 2.2 中)时,我点击了转换为新的 swift 语法,然后我点击了 swift 3。问题是我使用的是通过 carthage (Kanna) 下载的框架。我曾尝试使用:

迦太基更新

但它不起作用。

当我尝试在新的 Xcode-beta 上运行代码时,我收到此错误:

模块文件是由旧版本的编译器创建的;重建'Kanna'并重试:

4

3 回答 3

1

首先保存当前项目的备份。现在!

解决方案 1

使用 Xcode 7.3.1 打开您的项目,它使用 Swift 2.2,因此它会向您发出一堆错误信号。由于您了解 Swift 2.2,您应该能够修复错误并使您的项目再次与 Swift 2.2 兼容

解决方案 2

在 Xcode 8 beta 中,您可以选择 Swift 版本(Swift 2.3 或 Swift 3.0)。选择 Swift 2.3(它与 Swift 2.3 完全兼容,但确实支持新的 iOS API)。然后,再次手动修复错误。

解决方案 3

打开您正在使用的库并使用 Xcode 8 将其升级到 Swift 3.0。这是一个临时解决方案,直到该库的开发人员提供升级后的代码

于 2016-06-17T23:14:30.347 回答
1

似乎我回答得太晚了,但是支持 swift 3.0 的“Kanna”框架有可用的更新。如果您使用 CocoaPods,您可以将其添加到您的podfile

use_frameworks!
pod 'Kanna', '~> 2.0.0'

或者对于迦太基,您可以像这样安装

github "tid-kijyun/Kanna" ~> 2.0.0
于 2016-10-24T07:35:52.793 回答
1

当您第一次使用 Xcode 8.0 打开项目时,迁移助手会提示您执行迁移过程。也可以从菜单中手动调用助手

Edit -> Convert -> To Current Swift Syntax…

如果您将代码(例如 2.3 到 3.0)升级到现在想要降级到 2.3,您可以使用上面的代码。如果发生任何错误,请从存储库中的最后一次提交复制您的代码,它应该可以正常工作。

于 2016-09-21T14:11:58.837 回答