Xcode:使用pod依赖创建框架

时间:2016-04-01 10:16:49

标签: ios objective-c xcode swift frameworks

我创建了一个使用AFNetworking的框架(与pod一起安装)。

我可以在我的项目中导入这个框架,我可以使用我公开的所有类/方法,所以项目编译。

当我尝试在模拟器上运行项目时,我收到此错误:

  

dyld:未加载库:@ rpath / AFNetworking.framework / AFNetworking
  参考自:   /Users/.../Library/Developer/CoreSimulator/Devices/F56F98F0-2AE0-4C87-AC9A-6E3B449762D1/data/Containers/Bundle/Application/BFA5359F-8FCE-4402-8487-CD9C002CB673/MyProject.app/Frameworks/MyFramework .framework / MyFramework   原因:未找到图像

我已将“MyFramework”包含在:

Build phases -> Embed Frameworks

我想我在构建框架时遗漏了一些东西,但我可以找到什么!我已经看到了unanswered question

如果不再在MyProject上安装Pod,我可以使用MyFramework吗?

2 个答案:

答案 0 :(得分:1)

这个问题确实延迟了,但是我的项目正在执行中。这可能不是最好的方法,但它可以工作。我将其放在此处以供将来参考。

我想在主项目中不使用Pods的情况下进行操作。原因是,我们将我们的SDK捆绑到一个框架中。

因此,从本质上讲,我采取的第一步是在不使用工作空间的情况下捆绑框架项目。我只是将Pods项目拖到框架项目中。

File structure

然后,我添加了pods项目创建的框架,并将其添加到我的框架中。我将它们设置为可选和代码符号。您可以在我在构建阶段将它们添加到何处的图片中看到它们。

Build Phases

然后将它们添加到您的主项目中。不是框架,而是通过添加项目和/或框架的常规方法。然后将其添加到嵌入式二进制文件和链接的框架中。

答案 1 :(得分:0)

如果它对任何人有帮助,@ ArtyomDevyatov提到的解决方案确实有效。诀窍是你必须在podspec文件中添加's.dependency'。