1

我想使用 STV标准框架,它是一个静态库、封闭源代码。我尝试了 podspec,但到目前为止,我还没有让它工作。已找到标头,但 .m 似乎丢失了。

这是框架的文件夹结构:!

在此处输入图像描述

我在“静态框架”文件夹中有 podspec。

这是 podspec 文件:

Pod::Spec.new do |s|
s.name = 'SensibleTableView'
s.version = '3.3.0'
s.platform = :ios
s.ios.deployment_target = '6.1'

framework_path = 'SensibleTableView.framework'
s.source_files = "#{framework_path}/Versions/A/Headers/*.h"
s.source = "#{framework_path}/Versions/A/SensibleTableView"
s.requires_arc = true

结尾

我用这一行调用 podfile 中的 podspec:

 pod 'SensibleTableView', :path => "/Users/myPath/Static Frameworks/"

安装 pod 时没有错误消息,但是在构建项目时,我收到以下错误:

Undefined symbols for architecture i386:
  "_OBJC_CLASS_$_SCArrayOfStringsSection", referenced from:
      objc-class-ref in SettingsViewController.o
  "_OBJC_CLASS_$_SCTableViewController", referenced from:
      _OBJC_CLASS_$_SettingsViewController in SettingsViewController.o
   "_OBJC_METACLASS_$_SCTableViewController", referenced from:
      _OBJC_METACLASS_$_SettingsViewController in SettingsViewController.o
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)

我已经尝试了很多东西,但显然 podspec 中缺少一部分?任何帮助表示赞赏。

编辑:我以这种方式导入 podfile#import <SensibleTableView/SensibleTableView.h>

4

1 回答 1

2

不确定您是如何包含该框架的,因为这似乎不是上述代码段的一部分。您可能需要该vendored_frameworks属性。


从询问的人那里编辑 - 这是生成的 podspec:

Pod::Spec.new do |s|
s.name = 'SensibleTableView'
s.version = '3.3.0'
s.platform = :ios
s.ios.deployment_target = '6.1'
s.vendored_frameworks = 'SensibleTableView.framework'
s.requires_arc = true
end
于 2013-10-24T03:06:48.110 回答