【发布时间】:2016-11-26 13:37:27
【问题描述】:
目前我在我的 Objective-C 项目中使用Charts pod,所以我今天必须在 Xcode 8.1 中打开它,当然,我收到了这条消息:
如果是我的代码,这不会是一个问题,但我们在这里谈论的是 pod。那么,处理此警告并为此 pod 切换到 Swift 3 语法的正确方法是什么?
我尝试过的:
我已经运行了 pod update 命令,并希望将其更新到最新版本...不过,当我打开 Xcode 时,我收到了相同的消息。这是我的 Podfile:
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '9.2'
pod 'Charts', '~> 3.0'
use_frameworks!
target 'drivingCOACH' do
pod 'Charts', '~> 3.0'
end
【问题讨论】:
-
把它放在 Podfile 的末尾应该可以解决 post_install do |installer| 的问题installer.pods_project.targets.each 做 |target| target.build_configurations.each 做 |config| config.build_settings['SWIFT_VERSION'] = '3.0' end end end
-
@ThomasG。那么这实际上是做什么的?因为我有另一个可以正常工作的 pod...
-
好吧,我最终更改了构建设置 -> 使用旧版 Swift 版本 = 否。还尝试了您的代码,并且有效。不过,我并不完全清楚它的作用(看起来它循环遍历所有目标并将它们的配置设置为使用 SWIFT_VERSION = 3,对吧?)
-
你是对的。我无法解释为什么我们需要所有 pod 目标具有相同 SWIFT_VERSION 的这些行的确切原因。也许这将在以后的 Cocoapods 版本中修复。 - 一个提示:注意使用旧版 Swift 版本标志,因为它会在每次 pod 安装或更新后重置
-
@ThomasG。是的,我注意到每次更新(或安装)后发生了什么,感谢您指出这个想法。
标签: objective-c swift cocoapods xcode8