我正在使用Cocoapods进行依赖管理,同时编写Swift 2.0应用程序,并且一些依赖项要求我使用'use_frameworks!'。用于Swift的链接器命令Cocoapods发布方案失败
我定义了我的依赖关系并运行pod安装,到目前为止所有内容都编译和构建得很好。这是pod文件。
platform :ios, '9.0'
use_frameworks!
target 'MyTarget' do
pod 'Google/Analytics', '~> 1.0'
pod 'KeychainSwift', '~> 3.0'
pod 'SwiftDate', '~> 1.2'
end
target 'MyTargetTests' do
end
当我为我的目标创建一个新的Scheme时,问题就到了。我只有一个目标,但是我想基于如果为“调试”或“发布”构建一个基于API url的配置文件。
因此,我创建了一个新的方案,从我的默认方案中复制它,并且只将生成配置从调试更改为发布。
现在,当我建立我得到这个错误:
ld: library not found for -lPods-MyTarget
clang: error: linker command failed with exit code 1 (use -v to see invocation)
如果我去我的项目中框架文件夹,试图建立与发行后的配置,我看到libPods,MyTarget.a文件是红色的,因此丢失。
如果我然后再次构建调试,一切正常,文件libPods-MyTarget.a不再是红色。所以我打开了我的项目构建到的文件夹。
- 调试,iphoneios //这一个有libPods-MyTarget.a文件
- 发布 - iphoneios //这一个不具备libPods-MyTarget.a文件
某处,不知何故发布配置,对于我的发布方案,并没有将pod框架移入它,而调试配置却没有。我无法弄清楚为什么。
问题是,如何将Pod框架链接到两个Schemes及其各自的“调试”和“发行”文件夹?
该指南消失了,但能够将椰子树干炸成核心指令。 – Alper
感谢您告诉我关于指南alper的信息,但我认为您需要做的只是使用新的现有方案重新安装pod,因此pod也会为该目标建立依赖关系,然后转到Pod目标Xcode,并告诉它使用哪个配置。 –
我发现有这样一个命令:pod解体。所以每次我复制一个配置我都这么做。另请参阅此问题:https://github.com/CocoaPods/CocoaPods/issues/5246 – Alper