【发布时间】:2016-11-02 07:16:27
【问题描述】:
我有自己的带有内部 pod 的私有规范存储库。我曾经为 pod 添加前缀,但现在我正在迁移到 Swift,我想摆脱它们。
但是,如果我去掉前缀(例如 JAMNetworking 到 Networking)并在 Podfile 中指定两个源,我会遇到冲突,因为 Networking 是主存储库中现有的公共 pod。我知道一种可能的解决方案是在每个 pod 旁边指定 git 存储库 url,但是为每个 pod 添加 url 对我来说很烦人,所以我正在寻找一个优雅的解决方案。我有一些想法,但似乎没有一个可行:
A) 为源添加名称并指定每个 pod 的源名称,例如
source 'master', 'https://github.com/CocoaPods/Specs.git'
source 'internal', 'https://myurl.git'
pod 'samePodName', 'master'
pod 'samePodName', 'internal'
B) 创建两个定义,并在其中指定源:
def publicPods
source 'master', 'https://github.com/CocoaPods/Specs.git'
pod 'samePodName'
end
def internalPods
source 'internal', 'https://myurl.git'
pod 'samePodName'
end
target 'MyProject' do
publicPods
internalPods
end
不幸的是,这仅将其中一个 def 视为有效而忽略另一个...所以在这种情况下它将安装公共的。如果我安装后切换,则卸载公共的并安装内部的。
C) 创建多个目标。它返回有关具有相同名称的多个目标的错误。
您认为不添加每个 pod 的 url 或避免添加前缀是否可以找到一个优雅的解决方案?
【问题讨论】:
标签: ios cocoapods podspec podfile