http(共享位置)的外部库的Cocoapods规范

时间:2014-01-20 07:03:48

标签: ios cocoapods

根据http://guides.cocoapods.org/syntax/podspec.html#source

您可以提供不同类型的源类型来下载您所依赖的库。该页面中提到的最后一个是从HTTP下载。

  

使用HTTP下载代码的压缩文件。它支持zip,   tgz,bz2,txz和tar。

     

spec.source = {:http =>   “http://dev.wechatapp.com/download/sdk/WeChat_SDK_iOS_en.zip”}

我的问题:

如果我想从http下载lib,该怎么办?来自http://mylocation.com/sharedlib/myLib.a的myLib.a。

以上帮助不支持* .a和* .framework。

如何实现呢?在这种情况下,我的pod规格是什么。

  

更新问题(2014年1月31日)

我得到了如何配置http下载的答案。谢谢詹姆斯的帮助。

还有一个问题 如果需要在http源访问* .zip,请在何处配置username / passoword。据我所知,cocoapods正在使用SSHkey基础而不是基于凭据的身份验证。

在pod规范中是否有任何配置用于凭据输入?

1 个答案:

答案 0 :(得分:3)

通过HTTP下载Pod代码时,您可能希望将其作为.zip文件提供,以便它可以包含您的库(myLib.a)和任何所需的头文件。您也可以将它们作为Git存储库的一部分提供。

解决问题的最佳方法可能是查看一些现有的Podspecs,其中包含您尝试包含的相同类型的文件。

  • Estimote SDK包含.a库文件和标题。该库由vendored_libraries属性标识,标头位于source_files下。 Podspec还会更新xcconfig,以便LIBRARY_SEARCH_PATHSHEADER_SEARCH_PATHS指向所需的文件。
  • Reveal SDK通过HTTP下载为.zip文件,并包含.framework文件,该文件由vendored_frameworks属性标识。它还会更新xcconfig以将FRAMEWORK_SEARCH_PATHS构建设置设置为指向正确的位置。

我希望通过查看这两个示例,您可以确定您自己的Podspec需要什么!