Cocoapods“pod update”安装旧pod

时间:2015-12-29 10:42:14

标签: ios xcode server continuous-integration cocoapods

我正在尝试通过为iOS应用创建机器人来在Xcode Server上设置CI。我使用CocoaPods所以我使用下面的脚本来安装pod:

export LANG=en_US.UTF-8
#!/bin/bash
cd "$XCS_SOURCE_DIR/{PROJECTNAME}"
if [ -e "Pods" ]
then
/usr/local/bin/pod update
else
/usr/local/bin/pod install
fi

服务器上安装了当前版本的CocoaPods 0.39.0。当我在服务器上运行“pod update”时,一切都很好,并且安装了最新的pod。

Using FBAudienceNetwork (4.7.0)
Using FBSDKCoreKit (4.8.0)
Using Fabric (1.6.1)
Using FyberSDK (8.1.2)
Using Google-Mobile-Ads-SDK (7.6.0)
Using GoogleAnalytics (3.14.0)

当我使用上面的脚本时,会发生一些奇怪的事情。

Installing FBAudienceNetwork (4.1.0)
Installing FBSDKCoreKit (4.4.0)
Installing Fabric (1.2.8)
Installing FyberSDK (7.2.4)
Installing Google-Mobile-Ads-SDK (7.3.1)
Installing GoogleAnalytics (3.13.0)

任何人都知道为什么安装旧版本的脚本?我使用OS X Server 5.0.15和Xcode 7.2。

podfile:

source 'https://github.com/CocoaPods/Specs.git'

platform :ios, "8.0"
use_frameworks!

target "{PROJECTNAME}" do
    inhibit_all_warnings!

    pod 'AFNetworking'
    pod 'Branch'
    pod 'SwrveSDK'
    pod 'RealmSwift'
    pod 'MZTimerLabel'
    pod 'pop' 
    pod 'Adjust'
    pod 'JSQMessagesViewController'
    pod 'Fabric'
    pod 'Crashlytics'
    pod 'GoogleAnalytics'
    pod 'FBSDKCoreKit'
    pod 'FyberSDK'
    pod 'AdColony'
    pod 'Google-Mobile-Ads-SDK'
    pod 'ChartboostSDK'
    pod 'FBAudienceNetwork'
    pod 'VungleSDK-iOS'
end

target "{PROJECTNAME}Tests" do
    inhibit_all_warnings!

    pod 'AFNetworking'
    pod 'Branch'
    pod 'SwrveSDK'
    pod 'RealmSwift'
    pod 'MZTimerLabel'
    pod 'pop'
    pod 'Adjust'
    pod 'JSQMessagesViewController'
    pod 'Fabric'
    pod 'Crashlytics'
    pod 'GoogleAnalytics'
    pod 'FBSDKCoreKit'
    pod 'FyberSDK'
    pod 'AdColony'
    pod 'Google-Mobile-Ads-SDK'
    pod 'ChartboostSDK'
    pod 'FBAudienceNetwork'
end

post_install do |installer|
    installer.pods_project.targets.each do |target|
        target.build_configurations.each do |config|
            config.build_settings['ENABLE_BITCODE'] = 'NO'
        end
    end
end

5 个答案:

答案 0 :(得分:30)

我现在已经开始工作了!我不知道执行构建的_xcsbuildd用户。我在这里找到了更多相关内容:https://honzadvorsky.com/articles/2015-08-17-17-30-xcode_server_tutorials_3_prebuild__postbuild_scripts/

因此,在以此用户身份登录后,我在服务器上的终端中看到了同样的问题。已下载旧版本的pod。 CocoaPods的主存储库有一些错误,所以我做了

rm -rf ~/.cocoapods/repos/master

然后我跑了

pod setup --verbose

再次安装了带有Cocoapods规范的主存储库。现在它有效!

答案 1 :(得分:7)

对于那些遇到此问题的人,如:

  • Facebook登录
  • ' FBSDKLoginKit'
  • ' FBSDKShareKit'
  • ' FBSDKCoreKit'

您需要将您的cocoapods更新到最新版本(目前为1.2)

我做了以下工作: (警告Cocoapods似乎闲置多年,但我猜它做了些什么。) 按照上面的@youritrg中的前两个步骤进行操作:

rm -rf ~/.cocoapods/repos/master
pod setup --verbose 

您现在应该有一个刷新的安装。 然后我做了更新:​​

sudo gem install cocoapods

安装完成后,Facebook Cocoapods安装完美。

答案 2 :(得分:3)

对我来说,卸载所有内容然后删除主仓库

gem list --local | grep cocoapods
sudo gem uninstall cocoapods
sudo gem uninstall cocoapods-core
sudo gem uninstall cocoapods-deintegrate
sudo gem uninstall cocoapods-downloader 
sudo gem uninstall cocoapods-plugins
sudo gem uninstall cocoapods-search
sudo gem uninstall cocoapods-stats
sudo gem uninstall cocoapods-trunk
sudo gem uninstall cocoapods-try

然后

rm -rf ~/.cocoapods/repos/master
sudo gem install cocoapods

然后

pod setup --verbose

答案 3 :(得分:1)

很抱歉挖掘旧线程,但我遇到类似的问题,Firebase / Admob没有更新。我得到了与上面提到的相同的错误。我尝试了上面提到的所有内容,但对我而言,我可以让pod正确更新的唯一方法就是注释掉行

use_frameworks!

我知道这应该包括在内,因为我正在使用Swift,但它现在似乎工作正常。如果有人对原因有任何想法,我很想知道发生了什么!

答案 4 :(得分:0)

运行SimpleDateFormat formatter = new SimpleDateFormat("EEE MMM dd HH:mm:ss z yyyy",Locale.US/Locale/English both); SimpleDateFormat formatter = new SimpleDateFormat("EEE MMM dd HH:mm:ss z yyyy"); SimpleDateFormat formatter = new SimpleDateFormat("EEE MMM dd HH:mm:ss ZZZ yyyy"); SimpleDateFormat formatter = new SimpleDateFormat("EEE MMM dd HH:mm:ss zzzz yyyy"); date date = formatter.parse("Tue May 07 15:41:50 IST 2019"); 为我解决了此错误