无法将第三方框架导入cocoapod

时间:2016-05-11 19:46:02

标签: ios cocoapods

我查看了Cocoapods网站上的文档,这里的几个问题和各个网站上的文章,但到目前为止还没有解决这个问题。

问题是我必须创建一个需要放入私人Cocoapod的iOS框架才能在我的组织内使用。我专注于vendored_frameworks选项的几个变体,但没有任何成功将框架导入我的目标项目。

以下是我的Podspec文件的一个子集:

s.name                  = "MyCocoaPod"
s.source_files          = 'MyCocoaPod/Classes/**/*'
s.vendored_frameworks   = 'Framework/MyFramework.framework'

此项目是通过pod lib create命令创建的。有问题的框架位于Xcode中Pods项目下的Frameworks \ iOS文件夹中。

在文件系统上,框架位于ProjectName/Example/Pods/MyFramework.framework

该框架是用C ++编写的,并且在放置在常规项目中时可以正常工作。

Cocoapods的已安装版本为0.39.0。

我尝试过的一些事情:

  • 使用s.ios.vendored_frameworks
  • 使用preserve_paths
  • 更改了vendored_frameworks的路径以使用文件系统路径
  • 将框架移至MyCocoaPod / Classes文件夹
  • 将框架添加到s.source_files
  • 使用' Framework / iOS / MyFramework.framework' for vendored_framework path

1 个答案:

答案 0 :(得分:3)

我终于解决了这个奇怪的案例。

首先,我删除了该项目,并让cocoapods使用pod lib create命令生成一个新项目。

接下来,我删除了开发窗格下的默认文件夹,然后将框架文件复制到Development / PodName文件夹下的项目中。

然后我将s.vendored_frameworks = 'MyFramework'添加到podspec文件中。以前,我测试过不包括vendored_frameworks下的Framework / path而没有成功。

导入目标后,它成功出现。

我做的唯一新事物是使用一个新项目,所以我假设前一个项目中的某些设置不正确。