我只想在我的一个项目中尝试 Swift 3.0。Xcode 打开迁移窗口以更新我的项目以使用 Swift 3.0。
问题是,我只想更新我的项目,并且保持 Pods 项目不变,因为在我pod install
再次运行后任何更改都将被丢弃。
有人已经有解决方案了吗?
你问的是不可能的。Xcode 构建您的 Cocoapods 依赖项以及您的项目。你不能在同一个项目中混合使用 Swift 2.x 和 Swift 3 代码,也不能使用 Swift 2.x 编写的 Cocoapods 和 Swift 3。
只需在您的 podfile 末尾使用以下命令,它就会设置您的 pods 文件以使框架自动采用 swift 3 编译器或旧版编译器,这样您就不会在 swift 3 中出现 cannot use swift 2.1 和类似的错误。
post_install do |installer|
installer.pods_project.targets.each do |target|
target.build_configurations.each do |config|
config.build_settings['SWIFT_VERSION'] = '3.0'
end
end
end
使用它,看看我的 podfile 的以下示例。只要确保结束语句不在我上面写的块之前。
platform :ios, '8.0'
use_frameworks!
target 'Project 1'
pod 'FacebookCore'
pod 'FacebookLogin'
pod 'FacebookShare'
post_install do |installer|
installer.pods_project.targets.each do |target|
target.build_configurations.each do |config|
config.build_settings['SWIFT_VERSION'] = '3.0'
end
end
end
这可能有助于Swift 迁移指南
直接来自 Swift.org
使用 Carthage/CocoaPods 项目
如果您正在使用来自其他项目的二进制 Swift 模块,这些模块不是与您的 Xcode 工作区中的项目一起构建的,您可以选择以下迁移策略之一:
等上游开源项目更新到 Swift 2.3 或者 Swift 3
您可以按照以下工作流程迁移您的项目:
使用最新的cocoapods并删除cocoapods并再次安装最新的任何xcode,这一步在swift 3.0中正常工作我在swift 3.0中使用
0.sudo gem 安装 cocoapods
1.cd(拖放您的项目文件夹)
2.sudo gem 安装 cocoapods
3.touch podfile //创建podfile
4.open -e podfile
5.platform :ios, '10.0' use_frameworks!
target '' do pod 'Alamofire', '~> 4.4' end
6.ctrl+s
7.ctrl+q
8.pod安装