Il mio team ha recentemente iniziato a utilizzare CocoaPods per gestire la dipendenza nel nostro progetto di app per iOS.Piattaforme supportate, SDK di base, impostazioni di architettura attiva solo ripristinate dopo l'aggiornamento del pod
Ecco il podfile:
platform :ios, '6.0'
pod "UI7Kit"
pod "AFNetworking", "~> 2.0"
pod "TMCache"
pod "SVProgressHUD"
pod "SVPullToRefresh"
Tuttavia, dopo aver utilizzato CocoaPods, gli obiettivi di costruzione per iPhone 5 non riesce sempre, ma riesce per simulatore.
Ecco il log degli errori:
ld: warning: ignoring file [DerivedData directory]/libPods.a, file was built for archive which is not the architecture being linked (armv7): [DerivedData directory]/libPods.a
Undefined symbols for architecture armv7:
"_OBJC_CLASS_$_SVProgressHUD", referenced from:
objc-class-ref in ....o
"_OBJC_CLASS_$_TMCache", referenced from:
objc-class-ref in ....o
"_OBJC_CLASS_$_UI7Kit", referenced from:
objc-class-ref in ....o
ld: symbol(s) not found for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Ho provato le soluzioni di cui CocoaPods Troubleshooting, inclusa l'aggiunta la libreria statica Pods
in cima alla lista, ma non riesce ancora.
Successivamente abbiamo rilevato che in "Impostazioni progetto pod"> "Impostazioni build"> "Architetture", "SDK di base" è impostato come "Nessun SDK (OS X recente)", "Crea solo architettura attiva"> "Debug" "impostato come" Sì "e" Piattaforme supportate "impostato come" OS X ". Dopo averli modificati rispettivamente su "iOS più recente (iOS 7.0)", "No", "iOS", entrambi per iPhone 5 e simulatore funzionano bene.
Tuttavia, ogni volta che facciamo Pod update
, tutte e tre le impostazioni sono ripristinate ai loro stati precedenti, che è fastidioso.
Le mie domande sono:
- È questo il caso, per progettazione o qualcosa non va con il mio progetto ambiente/spazio di lavoro?
- Come impedire che queste impostazioni vengano ripristinate in stati errati?
Qualsiasi aiuto sarà apprezzato.
Stranamente, le impostazioni di Progetto Pod sembrano essere importanti, anche se le impostazioni di destinazione sono corrette. Solo dopo aver aggiornato manualmente le impostazioni del progetto Pod in modo tale che abbiano un set SDK di base sembra che lo risolva nella maggior parte dei casi. Non sono stato in grado di scoprire perché le impostazioni PROJECT dei pod tornano a non avere SDK di base ogni volta che viene eseguito un "aggiornamento pod". –