image.png
本篇主要講在自己的
pod
庫中,push遇到的一些常見錯誤和一些特殊設置
1)依賴錯誤
ERROR | [iOS] unknown: Encountered an unknown error (The 'Pods-App' target has transitive dependencies that include static binaries: (/private/var/folders/_r/rtmkt9590l7gkq8zscryyqz80000gn/T/CocoaPods-Lint-20180419-3650-1tkys6n-CBBase58/Pods/XXXXXXXXXXersal/lib-ios/libssl.a)) during validation.
這個錯誤是因為依賴庫(s.dependency)包含了.a靜態庫造成的。雖然這并不影響Pod的使用,但是驗證是無法通過的。可以通過 --use-libraries 來讓驗證通過。
pod spec lint xxxxx.podspec --verbose --use-libraries
- 依賴的第三方framework不支持ARC. 曾經在集成zoomSDK的過程中遇到過
s.pod_target_xcconfig = { 'ENABLE_BITCODE' => 'NO' }
s.requires_arc = false
s.static_framework = true
s.xcconfig = {'OTHER_LDFLAGS' => '-ObjC'}
s.pod_target_xcconfig = { 'VALID_ARCHS' => 'x86_64 armv7 arm64' }
s.vendored_frameworks = 'MRZoomSDK/Classes/MobileRTC.framework'
3)引入第三方framework后不支持部分架構
可以利用lipo -info
命令來查看framework
支持的架構
lipo -info xxxx.framework
在podspec中寫上支持的架構,比如有些framework就只支持真機也就是arm64
s.pod_target_xcconfig = { 'VALID_ARCHS' => 'arm64' }
4)需要xcode配置一些特殊參數,比如我遇到過需要配置'VALID_ARCHS' => 'arm64 arm64e',
s.xcconfig = {
'OTHER_LDFLAGS' => '-ObjC',
'VALID_ARCHS' => 'arm64 arm64e',
}