我使用Swift开发了一个C库的包装器,在那里我编译了一堆C文件并在其之上构造一个Swift类。
我用cocoapods创建了这个项目,并且不知道选择哪个平台,所以选择了“ macOS”作为开始。
问题是我希望iOS开发人员和macOS开发人员使用我的pod。它运行良好,但是当我使用iphonesimulator启动xcodebuild
时,它找不到可可...
ld: framework not found Cocoa
use_frameworks!
target 'PorterStemmer2_Example' do
pod 'PorterStemmer2', :path => '../'
target 'PorterStemmer2_Tests' do
inherit! :search_paths
end
end
使Pod适用于所有平台的最佳方法是什么? 我应该在构建设置中进行哪些更改?
答案 0 :(得分:0)
您只需要更新podspec以支持两个目标
1)如果您的文件和依赖项不同
如果lib包含不同的依赖项或文件等(例如YourLib/Mac
和YourLib/iOS
),则可以为lib创建单独的subspecs。
Pod::Spec.new do |s|
s.name = 'YourLib'
s.subspec 'iOS' do |i|
i.ios.deployment_target = "8.0"
end
s.subspec 'Mac' do |m|
m.osx.deployment_target = "10.10"
end
end
2)如果一切相同
只需更改目标即可包含Reachability中的两者
Pod::Spec.new do |s|
s.name = 'YourLib'
s.ios.deployment_target = "8.0"
s.osx.deployment_target = "10.10"
end
P。 S.在同一个仓库上创建演示项目,以包含两个目标(iOS和Mac)以测试事物,然后再推送到Cocoapods
[奖励]在演示项目中添加另一个目标
也不要忘记将此目标也添加到您的Podfile中,然后再次pod install