web-dev-qa-db-ja.com

Cocoapods「ポッド更新」は古いポッドをインストールします

IOSアプリ用のボットを作成して、XcodeサーバーでCIをセットアップしようとしています。 CocoaPodsを使用しているため、以下のスクリプトを使用してポッドをインストールしています。

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の現在のバージョンがサーバーにインストールされています。サーバーで「ポッド更新」を実行すると、すべてが問題なく、最新のポッドがインストールされます。

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を使用しています。

ポッドファイル:

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
25
youritrg

私は今それを機能させています!ビルドを行う_xcsbuilddユーザーについては知りませんでした。詳細については、こちらをご覧ください: https://honzadvorsky.com/articles/2015-08-17-17-30-xcode_server_tutorials_3_prebuild__postbuild_scripts/

そのため、このユーザーとしてログインした後、サーバーのターミナルで同じ問題が発生しました。古いバージョンのポッドがダウンロードされました。 CocoaPodsのマスターリポジトリにエラーがあります。

rm -rf ~/.cocoapods/repos/master

それから私は走った

pod setup --verbose

そして、Cocoapods仕様のマスターリポジトリが再びインストールされました。動作するようになりました!

30
youritrg

次のような新しいライブラリでこの問題が発生した場合:

  • フェイスブックログイン
  • 「FBSDKLoginKit」
  • 「FBSDKShareKit」
  • 「FBSDKCoreKit」

ココアポッドを最新バージョン(現在1.2)に更新する必要があります

私は次のことを行いました:(警告Cocoapodsは何年もアイドリングしているようですが、何かをしていると思います。)上記の@youritrgの最初の2つの手順に従ってください:

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

これで、インストールが更新されました。その後、次のようにして更新しました。

Sudo gem install cocoapods

インストール後、Facebook Cocoapodsは完全にインストールされました。

7
UKDataGeek

私にとってはすべてをアンインストールしてからマスターリポジトリを削除しました

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
u.gen

古いスレッドを掘り下げてすみませんが、Firebase/Admobが更新されないという問題がありました。私は他の人が上記で言及したのと同じエラーを受け取りました。上記のすべてを試しましたが、私にとっては、ポッドを正しく更新するための唯一の方法は、行をコメントアウトすることでした

use_frameworks!

Swiftを使用しているときにこれを含める必要があることはわかっていますが、現在は正常に機能しているようです。誰かが理由について考えているなら、私は何が起こっているのか知りたいです!

1
Iain Coleman

ランニング pod repo update私のためにこのエラーを修正しました

1
mwanjajoel