我的團隊最近開始使用的CocoaPods來管理我們的iOS應用項目依賴後恢復設置。支持的平臺,基地SDK,構建有源體系僅莢更新
這裏的podfile:
platform :ios, '6.0'
pod "UI7Kit"
pod "AFNetworking", "~> 2.0"
pod "TMCache"
pod "SVProgressHUD"
pod "SVPullToRefresh"
但是,使用的CocoaPods後,對於iPhone 5的建設目標總是失敗,但成功的模擬器。
這裏的錯誤日誌:
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)
我試過在CocoaPods Troubleshooting提到的解決方案,包括加入Pods
靜態庫在列表的頂部,但它仍然失敗。我們發現在「Pods Project Settings」>「Build Settings」>「Architectures」,「Base SDK」中設置爲「No SDK(Latest OS X)」,「Build Active Architecture Only」>「Debug 「設置爲」是「和」支持的平臺「設置爲」OS X「。將它們分別更改爲「最新iOS(iOS 7.0)」,「否」,「iOS」後,iPhone 5和模擬器的構建都可以正常工作。
但是,每次我們做Pod update
時間,所有的三個設置都恢復到先前的狀態,這是煩人。
我的問題是:
- 是這種情況下,通過設計或東西是錯誤與我的項目/工作區設置?
- 如何防止這些設置被還原爲錯誤的狀態?
任何幫助將不勝感激。
奇怪的是,即使目標設置是正確的,Pods Project設置似乎也很重要。只有在手動更新Pods項目設置以確保它們具有基本SDK集後,才能在大多數情況下修復它。每次進行「pod更新」時,我都無法找出爲什麼Pods PROJECT設置恢復爲沒有基礎SDK。 –