您可以在podfile
中设置版本代码。例如,它看起来像这样:
pod 'Alamofire'
pod 'Alamofire', '4.6.0'
我可以在cocoaPod中定义仅接受具有版本的Pod的规则吗?
背后的故事
我正在使用总是执行pod update
的构建脚本和不同的构建代理进行很多工作。
在一个愚蠢的时刻,我忘记设置版本号。有一天,广告连播发布了一个新版本,该版本可以进行编译,但是逻辑被破坏了。结果是我构建了崩溃的应用程序。我的想法是,当存在没有版本号的Pod时,在pod install
或pod update
中抛出错误。在Google上,我找不到解决方案。
答案 0 :(得分:0)
我没有找到CocoaPods的解决方案,但是我写了自己的shell脚本。我很确定正则表达式专业人士在笑,但是对我有用。
grep "\bpod ['\"]\w*['\"]$" Podfile > pods_without_version.txt
pods_without_version=$(grep -c ^ pods_without_version.txt)
count=$(grep -c ^ pods_without_version.txt)
if [ $count != 0 ]; then
echo "Error - $count Pod(s) without versions:"
cat pods_without_version.txt
fi
过滤所有以pod
开头,被"
或'
包围并且没有第二个'
,"
后面的豆荚>
示例Podfile
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '9.0'
inhibit_all_warnings!
use_frameworks!
def shared_pods
pod 'Alamofire', '4.6.0'
pod "GoogleMaps"
pod 'GooglePlaces'
end
target 'MyAppProject' do
shared_pods
end
target 'MyAppProjectTests' do
inherit! :search_paths
shared_pods
end
输出
Error - 2 Pod(s) without versions:
pod "GoogleMaps"
pod 'GooglePlaces'