Ich versuche, CI auf dem Xcode Server einzurichten, indem ich einen Bot für eine iOS-App erstellt. Ich benutze CocoaPods, also verwende ich das folgende Skript, um die Pods zu installieren:
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
Die aktuelle Version von CocoaPods 0.39.0 ist auf dem Server installiert. Wenn ich "Pod Update" auf dem Server starte, ist alles in Ordnung und die neuesten Pods werden installiert.
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)
Wenn ich das obige Skript verwende, passiert jedoch etwas Seltsames.
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)
Hat jemand eine Idee, warum alte Versionen mit dem Skript installiert werden? Ich verwende OS X Server 5.0.15 und Xcode 7.2.
Die 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
Ich habe es jetzt funktioniert! Ich wusste nichts über den _xcsbuildd-Benutzer, der die Builds ausführt. Mehr dazu habe ich hier gefunden: https://honzadvorsky.com/articles/2015-08-17-17-30-xcode_server_tutorials_3_prebuild__postbuild_scripts/
Nachdem ich mich als dieser Benutzer angemeldet hatte, sah ich dasselbe Problem im Terminal auf dem Server. Alte Versionen der Pods wurden heruntergeladen. Das Master-Repository von CocoaPods weist einige Fehler auf, also habe ich es getan
rm -rf ~/.cocoapods/repos/master
Dann bin ich gerannt
pod setup --verbose
Das Master-Repository mit den Cocoapods-Spezifikationen wurde erneut installiert. Jetzt gehts!
Für diejenigen, die dieses Problem mit neueren Bibliotheken haben, wie:
sie müssen Ihre Cocoapods auf die neueste Version (derzeit 1.2) aktualisieren.
Ich habe folgendes gemacht, was funktioniert hat: .__ (Warnung Cocoapods scheint ewig im Leerlauf zu sitzen, aber ich schätze, es tut etwas.) Befolgen Sie die ersten beiden Schritte von @youritrg oben im Terminal:
rm -rf ~/.cocoapods/repos/master
pod setup --verbose
Sie sollten jetzt eine aktualisierte Installation haben. Ich habe dann aktualisiert, indem ich
Sudo gem install cocoapods
Nach der Installation sind die Facebook Cocoapods perfekt installiert.
Für mich hat alles deinstalliert und dann das Master-Repo entfernt
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
dann
rm -rf ~/.cocoapods/repos/master
Sudo gem install cocoapods
dann
pod setup --verbose
Laufen pod repo update
hat diesen Fehler für mich behoben
Tut mir leid, dass ich einen alten Thread gefunden habe, aber ich hatte ein ähnliches Problem, da Firebase/Admob nicht aktualisiert wurde. Ich habe den gleichen Fehler wie andere, die oben erwähnt wurden. Ich habe alles, was oben erwähnt wurde, ausprobiert, aber für mich war die einzige Möglichkeit, die Pods richtig zu aktualisieren, das Auskommentieren der Zeile
use_frameworks!
Ich weiß, dass dies einbezogen werden sollte, da ich Swift verwende, aber es scheint jetzt gut zu funktionieren. Wenn irgendjemand irgendwelche Gründe hat, würde ich gerne wissen, was los ist!