如何定义嵌入框架目标的主机目标?

时间:2017-11-20 19:23:29

标签: cocoapods

我在一个目录中有一个现有的工作区文件,其子目录包含Xcode项目文件。当我发出' pod install'从工作区文件的目录中命令(我的pod版本是1.2.0),我得到以下警告:

[!] The Podfile contains framework targets, for which the Podfile does not contain host targets (targets which embed the framework). If this project is for doing framework development, you can ignore this message. Otherwise, add a target to the Podfile that embeds these frameworks to make this message go away (e.g. a test target).

我的pod文件的一般形式是:

workspace 'MyWorkspace'

use_frameworks!

target 'MyFramework' do

    pod 'PodA'

    project 'MyFramework/MyFramework'

end

target 'MyApplication' do

    pod 'PodA'

    project 'MyApplication/MyApplication'

end

上面的pod文件适合我。但是请注意,我必须为框架(确实需要它)和应用程序(通过它依赖于框架间接地需要它)表达PodA依赖性。我怀疑如果我只知道如何做警告促使我做的事情 - 即在pod文件中表达应用程序对框架的依赖性,那就不需要这样做了。我在CocoaPods.org上搜索,试验和阅读。一切都无济于事。目标嵌入似乎用于范围pod依赖项 - 内部目标继承外部目标的pod依赖项。我找不到嵌入框架目标的主机目标的示例。有人可以帮忙吗?

1 个答案:

答案 0 :(得分:-1)

Cocoa Pods抱怨Pod文件中没有使用Pod文件中的静态库\ Framework的目标。

Take a look at this sample project

tl; dr

在使用静态库的情况下,您需要转到“宿主”项目中的“构建阶段”,并将静态库添加为“目标依赖项”,并在“链接库的二进制文件”中添加静态库.a文件。

Framework的过程有些混乱,因此我建议克隆示例项目并查看配置。