如何为这个项目结构配置cocoapod podspec和podfile?

jAc*_*OdE 6 xcode cocoa-touch cocoapods

您好我的项目文件夹的结构如下:

+ Podfile
+ Apps/
  |
  +  Apps.xcodeproj
  | 
  +  Target1/
  | 
  +  Target2/

+ AppLib/
  |
  + AppLib.podspec
  |
  + AppLib.xcodeproj
  |
  + TargetLib1/
  | 
  + TargetLib2/
Run Code Online (Sandbox Code Playgroud)

我的依赖关系结构如下

Apps - 依赖 - > AppLib

AppLib- 依赖 - > RestKitMagicalRecord

这是我如何配置我的podfile

workspace 'MyApp'
xcodeproj 'Apps/Apps'
xcodeproj 'AppLib/AppLib'


def import_pods
  pod 'AppLib', :path => './AppLib'
end

target 'Target1' do
  platform :ios, '7.0'
  import_pods
  xcodeproj 'Apps/Apps'
end

target 'Target1' do
  platform :ios, '7.0'
  import_pods
  xcodeproj 'Apps/Apps'
end
Run Code Online (Sandbox Code Playgroud)

这是AppLib.podspec:

Pod::Spec.new do |s|

  s.name         = "AppLib"
  s.version      = "0.0.1"
  s.summary      = "Common library."
  s.platform     = :ios, "7.0"
  s.source_files  = "Lib/Public/**/*.{h,m}"
  s.ios.deployment_target = '7.0'
  s.resources = "Lib/Nibs/**/*.xib"
  s.requires_arc = true
  s.dependency 'RestKit', '~> 0.23'
  s.dependency 'MagicalRecord'
end
Run Code Online (Sandbox Code Playgroud)

在根文件夹(文件夹包含Podfile)pod install运行没有问题但是当我导入RestKit #import "RestKit.h"#import <RestKit/RestKit.h>在我的AppLibs项目中,xcode说没有找到该文件.

我的podfile和podspec是否正确?为什么xcode声称找不到RestKit.h?

如果我想单独构建AppLibs,如何获取所有依赖项?(pod install不适用于.podspec文件)我是否需要在AppLib文件夹中创建另一个podfile ?

fsp*_*rit 0

嗯,我的目标是

  1. 让库单独构建和发布
  2. 使用 CocoaPods 管理应用程序和库的依赖关系
  3. 尽可能避免重复
  4. 使用同一个工作区中的 lib 和 app 轻松调试

我结束的是

  1. 库和应用程序的单独 git 存储库
  2. 每个 repo 都有自己的 podfile
  3. Lib 的 repo 是 app 的 git 子模块
  4. Lib的项目包含在应用程序的工作区中
  5. 应用程序以老式方式使用“LIBRARY_SEARCH_PATH”、“USER_HEADERS_SEARCH_PATH”链接库。为了不让 CocoaPods 破坏我的 lib 文件夹结构(如果您将 lib 附加为 dev pod,它就会这样做)。
  6. Lib 有一个 podspec 列出依赖项,lib 的 podfile 只是使用“podspec”命令从那里获取依赖项
  7. 应用程序的 podfile 执行相同的操作(podspec 'lib/Lib.podspec'),从而引用 lib 的所有依赖项。

就是这样,希望有帮助。