代码之家  ›  专栏  ›  技术社区  ›  kuzdu

CocoaPod-未设置版本时抛出错误

  •  1
  • kuzdu  · 技术社区  · 7 年前

    在一个 podfile 您是否可以设置版本代码。例如,它看起来像这样:

    pod 'Alamofire'
    pod 'Alamofire', '4.6.0'
    

    背后的故事

    pod update .

    在一个愚蠢的时刻,我忘了设置版本号。有一天,pod发布了一个新的编译版本,但是逻辑被破坏了。结果是我构建的应用程序崩溃了。我的想法是把一个错误 pod install pod更新 当有一个没有版本号的pod时。在谷歌上我找不到解决方案。

    1 回复  |  直到 7 年前
        1
  •  0
  •   kuzdu    7 年前

    我没有找到椰子荚的解决方案,但我写了自己的shell脚本。我很确定一个regex专业人士在笑,但它对我有效。

    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'