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
私は今それを機能させています!ビルドを行う_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仕様のマスターリポジトリが再びインストールされました。動作するようになりました!
次のような新しいライブラリでこの問題が発生した場合:
ココアポッドを最新バージョン(現在1.2)に更新する必要があります
私は次のことを行いました:(警告Cocoapodsは何年もアイドリングしているようですが、何かをしていると思います。)上記の@youritrgの最初の2つの手順に従ってください:
rm -rf ~/.cocoapods/repos/master
pod setup --verbose
これで、インストールが更新されました。その後、次のようにして更新しました。
Sudo gem install cocoapods
インストール後、Facebook Cocoapodsは完全にインストールされました。
私にとってはすべてをアンインストールしてからマスターリポジトリを削除しました
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
古いスレッドを掘り下げてすみませんが、Firebase/Admobが更新されないという問題がありました。私は他の人が上記で言及したのと同じエラーを受け取りました。上記のすべてを試しましたが、私にとっては、ポッドを正しく更新するための唯一の方法は、行をコメントアウトすることでした
use_frameworks!
Swiftを使用しているときにこれを含める必要があることはわかっていますが、現在は正常に機能しているようです。誰かが理由について考えているなら、私は何が起こっているのか知りたいです!
ランニング pod repo update
私のためにこのエラーを修正しました