【发布时间】:2014-07-25 13:36:12
【问题描述】:
我正试图绕过这个复杂的设置:
我有两个项目和一个共享库。共享库是一个 cocoapod。
我希望能够使用单个工作区进行开发。有一些重复的 pod 定义,但我在单个 Podfile 中工作。
这里是复杂的地方:
我希望每个项目/库都在自己的 git 存储库中。每个 repo 必须能够独立存在;拥有自己的 Podfile,通过 CI 等进行测试/部署。
另一个扳手:我们是 git-flow 分支策略... 项目 A/B 的 master 分支必须拉取库的 master 分支。项目 A/B 的开发分支必须拉取库的开发分支。
有人知道吗?我会以一种倒退的方式来解决这个问题吗?
这是一个工作的根工作区 Podfile:
platform :ios, "7.0"
inhibit_all_warnings!
workspace 'Root.xcworkspace'
xcodeproj 'SharedLibrary/SharedLibrary.xcodeproj'
xcodeproj 'ProjectA/ProjectA.xcodeproj'
xcodeproj 'ProjectB/ProjectB.xcodeproj'
target 'SharedLibrary' do
xcodeproj 'SharedLibrary/SharedLibrary.xcodeproj'
pod 'AFNetworking', '~> 2.0'
pod 'CocoaLumberjack'
end
target 'ProjectA' do
xcodeproj 'ProjectA/ProjectA.xcodeproj'
pod 'AFNetworking', '~> 2.0'
pod 'CocoaLumberjack'
pod 'MagicalRecord', '~> 2.2'
pod 'SharedLibrary', :path => './SharedLibrary/'
end
target 'ProjectB' do
xcodeproj 'ProjectB/ProjectB.xcodeproj'
pod 'AFNetworking', '~> 2.0'
pod 'CocoaLumberjack'
pod 'MagicalRecord', '~> 2.2'
pod 'SharedLibrary', :path => './SharedLibrary/'
end
这是共享库的 podspec:
Pod::Spec.new do |s|
s.name = "SharedLibrary"
s.version = "0.0.1"
s.platform = :ios, "7.0"
s.source = { :git => "http://not.really.uploaded.anywhere.yet/SharedLibrary.git", :tag => "0.0.1" }
s.source_files = "SharedLibrary", "SharedLibrary/**/*.{h,m}"
s.public_header_files = "SharedLibrary/**/*.h"
s.dependency 'AFNetworking', '~> 2.0'
s.dependency 'CocoaLumberjack'
end
【问题讨论】: