我尝试为我的应用程序构建一个WatchKit扩展程序......
我更新了pods文件,如下所示:
platform:ios, '8.0'
use_frameworks!
source 'https://github.com/CocoaPods/Specs.git'
link_with 'my-team-ios', 'My Team WatchKit Extension'
def shared_pods
pod 'DOSingleton'
pod 'JSONModel'
pod 'MagicalRecord'
end
target :'My App' do
shared_pods
pod 'Facebook-iOS-SDK', '~> 3.23.1'
pod 'Reveal-iOS-SDK', :configurations => ['Debug']
... some more pods here...
end
target :'My Team WatchKit Extension' do
shared_pods
end
我如何安装pod并且没有出错...
但是,当我构建应用程序时,我收到此错误:
ld: framework not found Pods
clang: error: linker command failed with exit code 1 (use -v to see invocation)
这里有什么问题?
答案 0 :(得分:3)
使用CocoaPods时,需要打开xcworkspace文件而不是项目文件。
答案 1 :(得分:2)
问题是当更新到cocoapods 0.36.x时,他们现在正在从每个pod库中创建Frameworks。请参阅blog post about it.
这会导致任何依赖于其他pod的pod库出现问题,以及它们在import语句中引用它们的方式,以及代码如何导入它们。 Pod进程现在将它们转换为框架,以及何时将它们导入为
#import "ThisOtherPodClass.h"
现在需要导入为
#import <ThisPodsFrameworkName/ThisOtherPodClass.h>
答案 2 :(得分:2)
有一个新版本的可可豆荚.38,旨在支持WatchKit。但是,如果要使用当前版本,请检查o确保将libPods.a添加到目标,包含的库和框架中的WatchKit扩展。其次,确保在General标签中将Pods.debug和Pods.release添加到Watchkit扩展
答案 3 :(得分:1)
https://github.com/CocoaPods/CocoaPods/issues/3382
neonichu于2015年4月15日发表评论 首先要确保OTHER_LDFLAGS不会被项目和目标中不必要的东西覆盖。
在buids设置中设置OTHER_LDFLAGS解决了我的问题。
答案 4 :(得分:1)
我正在使用 Pod 1.2.1 并遇到同样的问题,即没有这样的模块XYZ
,对于遇到同样问题的人来说,我做了什么来克服它:
use_frameworks!
def shared_pods
pod 'XYZ'
end
target 'MyApp' do
platform :ios, '8.0'
shared_pods
pod 'Blah'
pod 'blah'
end
target 'Watch Extension' do
platform :watchos, '3.2'
shared_pods
end
我刚刚在每个目标下添加了平台,例如之前遗失的platform :watchos, '3.2'
,它解决了我的问题。
答案 5 :(得分:0)
尝试更改此行
target :'My App'
,target :'My Team WatchKit Extension'
并删除冒号:
target 'My App'
,target 'My Team WatchKit Extension'
答案 6 :(得分:0)
我为我找到了“暂时解决方案”: 切换回CocoaPods 0.35
现在一切正常,我对项目/ pod文件的任何更改(除了删除'use_frameworks!')
我认为,这不应该是最终解决方案......
通过再次升级到0.36的短暂测试引起了与以前相同的问题...
答案 7 :(得分:0)
重命名目标,使其不包含任何空格 - &gt; MyTeamWatchKitExtension既可以在podfile中也可以在General中使用 - &gt;目标。这解决了我的问题