HH8*_*887 87 swift swifty-json
我将Xcode升级到8.1 GM,现在我收到了SwiftyJSON的以下错误.其他导入的框架似乎有效.有没有办法强制这个在Swift 3中工作,直到SwiftyJSON升级他们的框架?我使用Carthage导入/更新框架.我也尝试改变Use Legacy Swift language versionOn和Off无济于事.
使用Swift 3.0编译的模块无法在Swift 3.0.1中导入:Modules/SwiftyJSON.swiftmodule/arm64.swiftmodule
zir*_*isp 171
SwiftyJson正在下载由carthage预编译.预编译下载是使用Swift 3.0版.这使编译器抱怨版本不正确.使用以下命令:
carthage update --platform iOS --no-use-binaries
Run Code Online (Sandbox Code Playgroud)
SwiftyJson(以及Carthage中的所有其他框架)将使用本地版本的Swift(3.0.1)在本地编译,编译器不会再抱怨了.
小智 21
从DerivedData中删除app chache,然后重建.错误可能是固定的.
DerivedData路径如下:
~/Library/Developer/Xcode/DerivedData/
Run Code Online (Sandbox Code Playgroud)
Cla*_*ett 10
确保已将新的XCode 8.1 GM软件包放在"应用程序"文件夹中.当我们其中一个人运行Carthage来更新我们的依赖项时,我们遇到了这个问题,但是没有替换应用程序文件夹中的XCode旧8.0应用程序(8.1 GM正在运行桌面).
您希望确保在终端中运行以下内容时:xcrun swift -version它返回Apple Swift version 3.0.1.
Xcode在终端上更新默认为新的工作对我来说.
步骤1:使用以下命令将Xcode版本更新为终端上的最新版本.参考
sudo xcode-select -switch <path/to/>Xcode.app
Run Code Online (Sandbox Code Playgroud)
第2步:现在尝试使用carthage update命令
carthage update --platform iOS
Run Code Online (Sandbox Code Playgroud)
只是为了给出最新的更新:
迦太基已于2017年2月27日发布0.20版本.
如果可用的预构建二进制文件兼容, Carthage现在只使用预构建二进制文件.
这就是说,你不再需要使用:--no-use-binaries避免不兼容的预构建框架.
因此,请确保您拥有的carthage版本大于0.20且仅执行以下操作:
carthage update --platform iOS
Run Code Online (Sandbox Code Playgroud)
小智 5
就像@zirinisp说:
carthage update --platform iOS --no-use-binariesxcrun swift -version查看Swift版本Xcode->preferences->locations清除派生数据和归档数据,最重要的是将命令行工具更改为" Xcode 8.1"xcrun swift -version,您可以看到swift版本是3.0.1Use Legacy Swift Language Version = NO 我希望它会对你有所帮助
| 归档时间: |
|
| 查看次数: |
24915 次 |
| 最近记录: |