如何通过podspec在项目中添加供应商静态库

时间:2014-05-15 12:50:20

标签: ios objective-c xcode cocoapods podspec

我必须在我的项目中使用第三方库。我想通过cocoapods将它添加到项目中。我用foo.a创建私有存储库,一些头文件和podspec。 podspec看起来像这样:

Pod::Spec.new do |s|
  s.name      = 'FooClient'
  s.version   = '1.0'
  s.summary   = 'Foo client '
  s.source    = { :git => 'https://github.com/Zhorkov023/FooClient' }
  s.license      = 'MIT'

  s.source_files        = "FooClientLibrary/*.h"
  s.ios.vendored_library = 'FooClientLibrary/libFooClient.a'

  s.platform = :ios, '6.0'
  s.requires_arc = true
  s.frameworks = 'Foundation'

end

但我在Linker收到错误:

  

架构armv7的未定义符号:
  “_OBJC_CLASS _ $ _ FooSession”,引自:         fooClientSingleton.o中的objc-class-ref ld:找不到架构armv7 clang的符号:错误:链接器命令失败并退出   代码1(使用-v查看调用)

看起来我的项目不了解libFooClient.a。因为如果我通过拖放添加库一切都可以。我不明白为什么。

请帮帮我。

2 个答案:

答案 0 :(得分:1)

我已经解决了这个问题。

要解决我的问题,我必须在目标中添加字符串 $(继承) - >构建设置 - >链接 - > 其他链接标记

全部谢谢!

答案 1 :(得分:-1)

该pod规范文件用于创建POD ,而不是用于安装pod。

在项目中添加pod非常简单(显然我假设你已经安装了CocoaPods ):

  • 在项目目录中创建一个没有任何扩展名的文件“podfile”;
  • 在此文件中写入要安装的pod,例如:

    pod“AFNetworking”,“〜> 2.0”

    pod“MBProgressHUD”,“〜> 0.8”

  • 保存文件;

  • 从命令行进入项目文件夹(所以podfile的位置)并启动:pod install

完成。

将在您的文件夹中创建项目的工作区。从那一刻起,打开工作区文件。