web-dev-qa-db-fra.com

Cocoapods "pod update" installe les anciens pods

J'essaie de configurer CI sur le serveur Xcode en créant un bot pour une application iOS. J'utilise CocoaPods, j'utilise donc le script ci-dessous pour installer les pods:

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

La version actuelle de CocoaPods 0.39.0 est installée sur le serveur. Quand je lance "pod update" sur le serveur, tout va bien et les derniers pods sont installés. 

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)

Lorsque j'utilise le script ci-dessus, quelque chose d'étrange se produit.

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)

Tout le monde a une idée pourquoi les anciennes versions sont installées avec le script? J'utilise OS X Server 5.0.15 et Xcode 7.2.

Le 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
24
youritrg

Je l'ai travailler maintenant! Je ne savais pas que l'utilisateur _xcsbuildd était chargé de la construction. J'ai trouvé plus à ce sujet ici: https://honzadvorsky.com/articles/2015-08-17-17-30-xcode_server_tutorials_3_prebuild__postbuild_scripts/

Donc, après la connexion en tant que cet utilisateur, j'ai vu le même problème dans le terminal sur le serveur. Les anciennes versions des pods ont été téléchargées. Le référentiel maître de CocoaPods a une erreur, alors je l’ai

rm -rf ~/.cocoapods/repos/master

Puis j'ai couru

pod setup --verbose

Et le référentiel maître avec les spécifications Cocoapods a été réinstallé. Maintenant ça marche!

30
youritrg

Pour ceux d'entre vous rencontrant ce problème avec des bibliothèques plus récentes telles que:

  • Identifiant Facebook
  • 'FBSDKLoginKit'
  • 'FBSDKShareKit'
  • 'FBSDKCoreKit'

vous devez mettre à jour vos cocoapods vers la dernière version (actuellement 1.2) 

J'ai fait ce qui suit qui a fonctionné:

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

Vous devriez maintenant avoir une installation actualisée. J'ai alors mis à jour en faisant: 

Sudo gem install cocoapods

Après l'installation, les Facebook Cocoapods sont parfaitement installés. 

7
Mobile Bloke

Pour moi tout désinstaller puis retirer le dépôt principal a fonctionné

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

puis

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

puis

pod setup --verbose
3
u.gen

Désolé de retrouver un ancien fil de discussion, mais j'ai eu un problème similaire avec la non-mise à jour de Firebase/Admob. J'ai la même erreur que d'autres ont mentionné ci-dessus. J'ai essayé tout ce qui est mentionné ci-dessus, mais pour moi, le seul moyen de mettre à jour correctement les pods était de commenter la ligne.

use_frameworks!

Je sais que cela devrait être inclus car j'utilise Swift, mais cela semble bien fonctionner maintenant. Si quelqu'un a des idées sur pourquoi, j'aimerais savoir ce qui se passe! 

0
Iain Coleman