我对我创建的框架的podspec文件的定义存在问题.我有以下文件结构:
/
|-- module1/<source files>
|-- module2/<source files>
...
|-- moduleN/<source files>
|-- core-api/
| |-- module1/<header files>
| |-- module2/<header files>
| ...
| +-- moduleN/<header files>
|-- framework.podspec
+-- framework.xcodeproj
Run Code Online (Sandbox Code Playgroud)
在XCode中我添加$(SRCROOT)/core-api了USER_HEADER_SEARCH_PATHS以便Xcode可以正确找到公共头文件.
我的podspec文件如下所示:
s.default_subspec = 'module1'
s.subspec 'module1' do |ss|
ss.source_files = "module1/**/*.{h,m}"
end
s.subspec 'module2' do |ss|
ss.source_files = "module2/**/*.{h,m}"
end
...
s.subspec 'moduleN' do |ss|
ss.source_files = "moduleN/**/*.{h,m}"
end
Run Code Online (Sandbox Code Playgroud)
目前,没有指令定义core-api的头位置.当我这样做时,pod lib lint我得到错误,找不到相应的core-api标头.
我瞎搞用ss.header_dir,ss.header_mapping_dir,s.xcconfig有USER_HEADER_SEARCH_PATH,但他们没有为我工作. …
这是我第一次写自己的Cocoapod所以这可能是一个非常简单的quedstion但....
我正在尝试使用Cocoapods为我们公司内部使用的一系列应用程序分发公共代码(CocoaPod称为CommonHex,前缀为HEX,因此HEXItem.h/m).但是,我们有一个特定于每个应用程序的配置文件,名为HOSTConfig.h/m.有没有办法从我们的CommonHex pod中访问这个HOSTConfig.h/m?
看起来我应该能够拥有一个配置文件,它具有自己的值,但是如果它存在的话会引入HOSTConfig.h/m?并且可能必须扩展搜索路径或其他东西.
所以我喜欢:
MainApp
\-MainApp
\-HOSTConfig.h/m
CommonHex
\-Classes
\-HEXItem.h/m
\-HEXItemViewController.h/m
Run Code Online (Sandbox Code Playgroud)
我希望这能够通过另一个类访问HOSTConfig.h/m,如果HOSTConfig.h/m存在于托管应用程序中,它使用这些值,否则它使用我们的CocoaPod中的值
所以在CommonHex.podspec中,我有以下但这似乎不起作用:
s.source_files = "Classes", "Classes/**/*.{h,m}", "$(PROJECT_DIR)/HOSTConfig.{h,m}"
Run Code Online (Sandbox Code Playgroud)