2015-12-29 25 views
19

Sto provando a configurare CI su Xcode Server creando un bot per un'app iOS. Io uso CocoaPods modo per installare i baccelli che sto utilizzando lo script di seguito:Cocoapods "pod update" installa i vecchi 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 

La versione corrente di CocoaPods 0.39.0 è installato sul server. Quando eseguo "pod update" sul server tutto va bene e vengono installati i pod più recenti.

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) 

Quando uso lo script sopra tuttavia succede qualcosa di strano.

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) 

Qualcuno ha idea del perché le vecchie versioni siano installate con lo script? Uso OS X Server 5.0.15 e Xcode 7.2.

Il 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 
+0

Mostraci il tuo Podfile –

+0

Ok, ho incluso il podfile nella mia domanda – youritrg

+0

Dovrebbe essere perché la versione iOS, provare a rimuovere (piattaforma: ios, "8.0") –

risposta

23

ho ottenuto che funziona ora! Non conoscevo l'utente _xcsbuildd che crea le build. Ho trovato di più su questo qui: https://honzadvorsky.com/articles/2015-08-17-17-30-xcode_server_tutorials_3_prebuild__postbuild_scripts/

Quindi dopo aver effettuato il login come questo utente ho visto lo stesso problema nel terminale sul server. Vecchie versioni dei pod sono state scaricate. Il repository maestro di CocoaPods ha qualche errore, così ho fatto

rm -rf ~/.cocoapods/repos/master 

Poi corsi

pod setup --verbose 

E il repository principale con le specifiche Cocoapods è stato installato di nuovo. Ora funziona!

+2

Grazie, questo mi ha aiutato oggi. Come nota per altri ci sono voluti anni prima della clonazione effettivamente Ho iniziato, quindi ho pensato che non funzionasse, ma l'ho lasciato da solo e tutto è iniziato e tutto è andato bene –

3

Per quelli di voi che si verifichi questo problema con le librerie più recenti come:

  • Facebook login
  • 'FBSDKLoginKit'
  • 'FBSDKShareKit'
  • 'FBSDKCoreKit'

è necessario per aggiornare i tuoi cocoapodi all'ultima versione (attualmente 1.2)

Ho fatto quanto segue che ha funzionato: (Attenzione Cocoapods sembra starsene al minimo per anni ma immagino che stia facendo qualcosa.) Seguire i primi due passi dal @youritrg sopra nel terminale:

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

si dovrebbe ora avere un'installazione aggiornata. Ho poi aggiornato da fare:

sudo gem install cocoapods 

Dopo l'installazione di Facebook Cocoapods installato perfettamente.

+0

Questo ha funzionato per me. Dopo l'aggiornamento a Xcode 9, stavo avendo il problema con Firebase –

+0

lo stesso per me. –

2

Per me disinstallare tutto quindi rimuovendo il repo maestro lavorato

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 

poi

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

poi

pod setup --verbose 
0

Ci scusiamo per scavare un vecchio thread, ma ho avuto un simile problema con Firebase/Admob non si sta aggiornando. Ho avuto lo stesso errore di altri che ho menzionato sopra. Ho provato di tutto di cui sopra, ma per me, l'unico modo ho potuto ottenere i baccelli per aggiornare correttamente è stato quello di commentare la riga

use_frameworks! 

So che questo dovrebbe essere incluso come sto usando Swift, ma sembra per lavorare bene ora. Se qualcuno ha qualche idea sul perché, mi piacerebbe sapere cosa sta succedendo!