我正在开发一个私人 cocoapod 和同时使用该 cocoapod 的项目,并且我很难确定正确的工作流程来保持所有内容同步。
我遇到的问题是这样的:如果我对我的 cocoapod 项目进行更改,我发现让我的其他项目拉动这些更改的唯一方法是创建一个新标签并更改由吊舱规格。结果,我陷入了许多无用版本的 pod 规范中。
我更喜欢的是简单地将我的标签移动到我的 cocoapod 项目的头部,并以某种方式重新拉动 cocoapod。我发现在这种情况下 pod install 和 pod update 似乎并没有刷新 cocoapod 。
有人对同时开发 cocoapod 和使用它的项目有什么建议吗?
我们在团队内部也做了同样的事情,最终我们引用了最新的提交,而不是标签。 这是 podspec 的示例:
Pod::Spec.new do |s|
s.name = "TTFacebook"
s.version = "0.0.1"
s.summary = "Tiltap wrapper around Facebook SDK 3.5"
s.homepage = "https://bitbucket.org/*****"
s.license = 'MIT'
s.author = { "Paolo Tagliani" => "[email protected]" }
s.platform = :ios, '5.0'
s.source = { :git => "[email protected].*****", :commit => "a8c276eec3372f2b088de0731a7808e4766b625d" }
s.source_files = 'TTFacebook/TTFacebook/*.{h,m}'
s.requires_arc = true
s.dependency 'Facebook-iOS-SDK','~>3.5'
end
每次修改库中的某些内容时,我们都会使用最新的提交更新 podspec。
您还可以使用
:head
标志,但您仍然需要创建标签。
pod 'YourPod', :head
运行时
pod update
将使用 pod 的最新版本规范。
如果您只是将 podfile 指向库的 git 存储库,它只会拉取默认分支的最新版本。
pod 'InternalStuff', :git => 'https://github.com/YourGithub/InternalStuff.git'
@Emilie 的评论是比该问题的其他答案更好的解决方案。这是她对OP问题的评论,以防你错过了。
当这种情况发生在我身上时,我通常只是从 Podfile 中删除该行,运行 pod install,重新添加该行并重新运行 pod install。也许有更好的方法,但这个方法非常简单。