組件化遇到的問(wèn)題

1.如果組件化工程里依賴的framework,里面有了.a文件,pod install會(huì)報(bào)錯(cuò)

target has transitive dependencies that include static binaries: 報(bào)這個(gè)錯(cuò)誤

解決辦法是 在pod podfile文件里加上下面一行代碼

# 依賴三方靜態(tài)庫(kù)需添加

pre_install do |installer|?

Pod::Installer::Xcode::TargetValidator.send(:define_method, :verify_no_static_framework_transitive_dependencies) {}

end

然后pod install 通過(guò)

然后驗(yàn)證的時(shí)候 pod lib lint--allow-warnings --use-libraries?

2 如果集成組件報(bào)錯(cuò)處理 --include of non-modular header inside XXXX

解決方法:把target下?Build Settings中?Allow Non-modular includes in Framework Modules選項(xiàng)卡設(shè)為yes。

(這不是最好的解決方法,好的是讓做這個(gè)組件的人在podspec文件里設(shè)置)

s.user_target_xcconfig = { 'CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES' => 'YES'? ?}

3.如果pod search xxx 自己的組件,搜索不到

解決方法:rm ~/Library/Caches/CocoaPods/search_index.json

4.如果工程集成自己制作的組件,報(bào)搜索不到,或者驗(yàn)證的時(shí)候報(bào)找不到這個(gè)組件

在 podfile? 加上gitsource 和自己的私有庫(kù)source?

source 'https://github.com/CocoaPods/Specs.git'

source 'http://bj.gitlab.xxxxcom/ios-team/xxxxRepos.git'

驗(yàn)證的時(shí)候后面也要加上這個(gè)

5.如果 pod lib lint 或者 pod spec lint 報(bào)錯(cuò)

ERROR | [iOS] unknown: Encountered an unknown error (Could not find a `ios` simulator (valid values: com.apple.coresimulator.simruntime.ios-12-2, com.apple.coresimulator.simruntime.tvos-12-2, com.apple.coresimulator.simruntime.watchos-5-2). Ensure that Xcode -> Window -> Devices has at least one `ios` simulator listed or otherwise add one.) during validation.

解決方法 升級(jí)cocoaPods

sudo gem install cocoapods

然后再次驗(yàn)證

6.如果在組件里用到PLShortVideoKit ,需要在podspec文件里 添加?s.pod_target_xcconfig = { 'VALID_ARCHS[sdk=iphonesimulator*]' => 'PLShortVideoKit' }

或者在驗(yàn)證后面加上--skip-import-validation 但是這個(gè)方法不好,如果其他依賴你做的組件,都需要加這個(gè)了,所以最好在podspec文件里配置

7?pod lib lint 報(bào)錯(cuò)?


原因:?這個(gè)問(wèn)題是pod依賴的組件fourflusher與xcode版本不匹配造成的,可以使用如下命令更新解決辦法: ?sudo gem install fourflusher

8.往github上推庫(kù)如果報(bào)443錯(cuò)誤


可以更改hosts,前往/private/etc這個(gè)文件夾下,找到hosts,在最下面加上199.232.28.133 raw.githubusercontent.com?

9.如果pod trunk push 報(bào)


執(zhí)行?1. 執(zhí)行命令:pod trunk register '12345678@qq.com' 'hhhh' --description='mac pro'

然后去郵箱里認(rèn)證,然后在推就可以了

2. 在自己郵箱里面去點(diǎn)擊,那個(gè)郵件里面的連接,就可以了(如果找不到那個(gè)郵件,多等個(gè)幾分鐘的?;蛑ダ渲姓艺?,有可能是騰訊把他等垃圾郵件了)

3. 返回終端里面繼續(xù)執(zhí)行命令:pod trunk push YQJLive.podspec --allow-warnings

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 目前項(xiàng)目組件化已經(jīng)告一段落,我把總結(jié)的相關(guān)文章列羅出來(lái)創(chuàng)建cocoapod私有庫(kù)詳細(xì)步驟(基礎(chǔ)組件組件化)iOS組...
    wg剛閱讀 17,469評(píng)論 20 95
  • 很全的podspec字段含義:http://www.itdecent.cn/p/1692701d30ae 一、集...
    海浪萌物閱讀 2,982評(píng)論 5 4
  • ????來(lái)公司大半年時(shí)間了,一個(gè)人搞組件化不輕松,先來(lái)看看podfile,業(yè)務(wù)功能都已經(jīng)拆分成了一個(gè)組件,現(xiàn)在主工...
    Misaki_yuyi閱讀 1,139評(píng)論 0 1
  • 最近項(xiàng)目按照很久之前寫的CocoaPods遠(yuǎn)程私有庫(kù)做代碼組件化,介紹我遇到的問(wèn)題。新版的Specs和之前的一樣,...
    槐_df85閱讀 1,309評(píng)論 0 2
  • 不知從何時(shí)起,喜歡上了黑夜,準(zhǔn)確說(shuō)是喜歡上了在黑夜寫點(diǎn)東西。 前幾年,課業(yè)繁忙,每當(dāng)夜幕降臨,泡一杯濃茶,擺上作業(yè)...
    杪拾柒閱讀 221評(píng)論 0 1

友情鏈接更多精彩內(nèi)容