如何在应用程序和扩展程序中使用 cocoapods

Posted

技术标签:

【中文标题】如何在应用程序和扩展程序中使用 cocoapods【英文标题】:How to use cocoapods in both app and extension 【发布时间】:2017-05-03 07:08:56 【问题描述】:

我想在主应用程序及其扩展程序中使用一些库。我试过这个podfile

platform :ios, '10.2'
use_frameworks!
target 'myApp' do
       target 'myAppShareExtension' do
                pod 'SVProgressHUD', :git => 'https://github.com/SVProgressHUD/SVProgressHUD.git'
                pod 'Alamofire', '~> 4.0'
                pod 'FileKit', '~> 4.0.1'
       end
end

但是我的Targets Support Files 被命名为Pods-myApp-myAppShareExtension 而它应该是Pods-myAppShareExtension 这让我觉得问题出在 podfile 上。

谢谢。

【问题讨论】:

【参考方案1】:

你可以试试这个:

为多个目标共享 pod 的最佳方式:

def shared_pods
            pod 'SVProgressHUD', :git => 'https://github.com/SVProgressHUD/SVProgressHUD.git'
            pod 'Alamofire', '~> 4.0'
            pod 'FileKit', '~> 4.0.1'

end

target 'myApp' do
    shared_pods
end

target 'myAppShareExtension' do
    shared_pods
end

【讨论】:

谢谢。但它以The 'Pods-myapp' target has frameworks with conflicting names: alamofire, filekit, and svprogresshud. 退出 请从您的项目中删除 Pod,创建新的 pod 文件并安装 pod。要从项目中删除 pod,请参阅:***.com/questions/16427421/… 做了但同样的问题。我想知道这是否与 cocoapods 1.2 here 的错误无关。 请看这个,在 GitHub 上也有提到:***.com/questions/42114122/…

以上是关于如何在应用程序和扩展程序中使用 cocoapods的主要内容,如果未能解决你的问题,请参考以下文章

在应用程序扩展中找不到库中的 cocoapods

将 cocoapods (Firebase) 应用于扩展

Cocoapods:无法设置 pod 构建设置

如何将带有 cocoapods 的应用程序提交到 iTunes Connect?

使用通知扩展会导致 Cocoapods 出现问题

无法在 WatchKit 扩展(CocoaPods)中使用 Parse 库