組件化過程常見問題

2018年10月18日
1.上傳庫的時候報錯贸呢,第三方庫無法正常下載


image.png

解決:本地庫更新 (之后再上傳就正常了)
pod repo update


image.png

2018年9月27日
1.已經(jīng)引入頭文件了为牍,還報頭文件錯誤


image.png

原因:頭文件引入有先后順序,正確引入即可科乎,建議第三方工具類的放最前面

2018年9月26日
1.編譯通過聋亡,做庫的時候報錯


image.png

原因:基本可能是配置文件 問題侧甫,如分層,需要添加依賴

s.source_files = 'HuTrainKit/Classes/*'
s.public_header_files = 'HuTrainKit/Classes/*.h'
s.prefix_header_contents = '#import <HuConfigsKit/HuConfigsHeader.h>','#import <MJExtension/MJExtension.h>','#import <HuCommonUIKit/HuCommonUIHeader.h>','#import <HuUtilsKit/HuUtilsHeader.h>','#import <HuCategoryKit/HuCategoryHead.h>','#import <HuMainProjectCategoryKit/CTMediator+HuMainProjectCategory.h>','#import <MJRefresh/MJRefresh.h>','#import <HuNetKit/HuNetHeader.h>','#import <MJExtension/MJExtension.h>','#import <IQKeyboardManager/IQKeyboardManager.h>','#import <SDWebImage/UIImageView+WebCache.h>','#import <Masonry/Masonry.h>’

s.subspec 'HuTrain' do |ss|
    ss.subspec 'Models' do |sss|
        sss.source_files = 'HuTrainKit/Classes/HuTrain/Models/*'
    end
    
    ss.subspec 'Views' do |sss|
        sss.dependency 'HuTrainKit/HuTrain/Models'
        sss.source_files = 'HuTrainKit/Classes/HuTrain/Views/*'
    end
    
    ss.subspec 'ViewControllers' do |sss|
        sss.dependency 'HuTrainKit/HuTrain/Views'
        sss.source_files = 'HuTrainKit/Classes/HuTrain/ViewControllers/*'
    end
end

對應(yīng)文件夾目錄


image.png

注意點:
1.很重要的原因,就是每次做庫驗證的時候堂油,都要升級下tag(刪除tag,在重新添加無效),不然有可能解決了問題,但還是在驗證老的代碼
2.工具類HuTrainUtils 由于依賴 HuScanViewController.h文件 同時又供 TrainTestNeedToKonwViewController.h使用
如果做成一個單獨目錄添加dependency 碧绞,這樣就會導(dǎo)致循環(huán)引用府框,目前放到ViewControllers文件里解決
3.預(yù)加頭文件 最好不要加入本地庫使用的頭文件,可能會有問題讥邻。 s.prefix_header_contents = #import "HuTrainUtils.h"
4.發(fā)現(xiàn)一個詭異的問題迫靖,HuTrainKit 庫用到了HuCategroy 庫里面 一個 containsaString方法 就一直驗證不成功院峡,
解決:先改成左邊系統(tǒng)方法


image.png

2018年9月21日
1.驗證包的時候報如下錯誤

  • ERROR | [HuUtilsKit/HuUtils] xcodebuild: HuUtilsKit/HuUtilsKit/Classes/HuUtils/HuControllerId.m:88:54: error: too many arguments to function call, expected 0, have 2

已經(jīng)將函數(shù)改成函數(shù)原型,這樣 interface builder -build setting設(shè)置成yes也可以編譯通過系宜,不過還是報錯

參考:https://blog.csdn.net/pinxue/article/details/46468039

最終解決:參考CTMediator的 podspec文件https://github.com/casatwy/CTMediator/blob/master/CTMediator.podspec

添加如下配置后照激,pod install后就可以驗證成功了

s.frameworks = "UIKit"
image.png

2.圖片庫報如下錯誤MJPhotoBrowser 報如下錯誤(用了4.多的庫導(dǎo)致)

No visible @interface for 'SDWebImageManager' declares the selector 'downloadImageWithURL:options:progress:completed:'

解決:先加載

s.dependency 'SDWebImage', '~> 3.8.0’

在加載

s.dependency 'MJPhotoBrowser'

參考:https://github.com/openshopio/openshop.io-ios/issues/14
2018年8月27日
1.多級目錄分層模塊

1.1sss.denpendency = 組件面+文件夾名 (不是物理路徑不含Classes)
1.2如果文件夾下面只有子目錄,沒有文件盹牧, 不能設(shè)置ss.source_files = 'HuCommonUIKit/Classes/HuTableViewExtend/*'


image.png
#
# Be sure to run `pod lib lint HuCommonUIKit.podspec' to ensure this is a
# valid spec before submitting.
#
# Any lines starting with a # are optional, but their use is encouraged
# To learn more about a Podspec see https://guides.cocoapods.org/syntax/podspec.html
#
Pod::Spec.new do |s|
  s.name             = 'HuCommonUIKit'
  s.version          = '1.0.11'
  s.summary          = '1.0.8已經(jīng)成功.現(xiàn)做更深層次分層'
# This description is used to generate tags and improve search results.
#   * Think: What does it do? Why did you write it? What is the focus?
#   * Try to keep it short, snappy and to the point.
#   * Write the description between the DESC delimiters below.
#   * Finally, don't worry about the indent, CocoaPods strips it!
  s.description      = <<-DESC
TODO: Add long description of the pod here.
                       DESC
  s.homepage         = 'git@gitlab.317hu.com:HuModularizationLibrary/HuCommonUIKit'
  # s.screenshots     = 'www.example.com/screenshots_1', 'www.example.com/screenshots_2'
  s.license          = { :type => 'MIT', :file => 'LICENSE' }
  s.author           = { 'wangyu204' => 'wangyu@317hu.com' }
  s.source           = { :git => 'git@gitlab.317hu.com:HuModularizationLibrary/HuCommonUIKit.git', :tag => s.version.to_s }
  # s.social_media_url = 'https://twitter.com/<TWITTER_USERNAME>'
  s.ios.deployment_target = '8.0'
    #s.source_files = 'HuCommonUIKit/Classes/**/*'
    s.source_files = 'HuCommonUIKit/Classes/*'
    s.public_header_files = 'HuCommonUIKit/Classes/HuCommonUIHeader.h'
    s.prefix_header_contents = '#import <HuConfigsKit/HuConfigsHeader.h>','#import <HuCategoryKit/HuCategoryHead.h>','#import <HuUtilsKit/HuUtilsHeader.h>'
#-----------------文件分級---------------------#
    s.subspec 'Views' do |ss|
        ss.source_files = 'HuCommonUIKit/Classes/Views/*'
    end
    
    s.subspec 'Utils' do |ss|
        ss.dependency 'HuCommonUIKit/Views'
        ss.source_files = 'HuCommonUIKit/Classes/Utils/*'
    end
    
    s.subspec 'ViewControllers' do |ss|
        ss.dependency 'HuCommonUIKit/Views'
        ss.source_files = 'HuCommonUIKit/Classes/ViewControllers/*'
    end
    
    s.subspec 'HuTableViewExtend' do |ss|
        
        ss.subspec 'DataAdapter' do |sss|
            sss.source_files = 'HuCommonUIKit/Classes/HuTableViewExtend/DataAdapter/*'
        end
        
        ss.subspec 'VIewBase' do |sss|
            sss.dependency 'HuCommonUIKit/Views'
            sss.dependency 'HuCommonUIKit/Utils'
            sss.dependency 'HuCommonUIKit/HuTableViewExtend/DataAdapter'
            sss.source_files = 'HuCommonUIKit/Classes/HuTableViewExtend/VIewBase/*'
        end
    end
#-----------------文件分級---------------------#
  
  # s.resource_bundles = {
  #   'HuCommonUIKit' => ['HuCommonUIKit/Assets/*.png']
  # }
  # s.public_header_files = 'Pod/Classes/**/*.h'
  # s.frameworks = 'UIKit', 'MapKit'
  # s.dependency 'AFNetworking', '~> 2.3'
    s.dependency 'HuConfigsKit'
    s.dependency 'HuCategoryKit'
    s.dependency 'HuUtilsKit'
    s.dependency 'MJRefresh', '~> 3.1.15'
end

2018年8月23日
1.本地編譯OK,但是做成庫就報錯


image.png

原因:你本地改了第三方HucommonUIKit庫俩垃,本地build ok, 但是驗證庫是在遠端的,你需要把HucommonUIKit庫更改都做成庫才能正常驗證汰寓。
解決:先做修改庫

2018年8月20日
1.做成的庫無法找到頭文件


image.png

原因:左邊目錄結(jié)構(gòu)已經(jīng)分組口柳, 右邊配置設(shè)置沒有分組導(dǎo)致


image.png

解決:


image.png

如果您發(fā)現(xiàn)本文對你有所幫助,如果您認為其他人也可能受益有滑,請把它分享出去跃闹。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市毛好,隨后出現(xiàn)的幾起案子望艺,更是在濱河造成了極大的恐慌,老刑警劉巖睛榄,帶你破解...
    沈念sama閱讀 218,122評論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件荣茫,死亡現(xiàn)場離奇詭異,居然都是意外死亡场靴,警方通過查閱死者的電腦和手機啡莉,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,070評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來旨剥,“玉大人咧欣,你說我怎么就攤上這事」熘模” “怎么了魄咕?”我有些...
    開封第一講書人閱讀 164,491評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長蚌父。 經(jīng)常有香客問我哮兰,道長,這世上最難降的妖魔是什么苟弛? 我笑而不...
    開封第一講書人閱讀 58,636評論 1 293
  • 正文 為了忘掉前任喝滞,我火速辦了婚禮,結(jié)果婚禮上膏秫,老公的妹妹穿的比我還像新娘右遭。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 67,676評論 6 392
  • 文/花漫 我一把揭開白布窘哈。 她就那樣靜靜地躺著吹榴,像睡著了一般。 火紅的嫁衣襯著肌膚如雪滚婉。 梳的紋絲不亂的頭發(fā)上图筹,一...
    開封第一講書人閱讀 51,541評論 1 305
  • 那天,我揣著相機與錄音满哪,去河邊找鬼婿斥。 笑死,一個胖子當著我的面吹牛哨鸭,可吹牛的內(nèi)容都是我干的民宿。 我是一名探鬼主播,決...
    沈念sama閱讀 40,292評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼像鸡,長吁一口氣:“原來是場噩夢啊……” “哼活鹰!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起只估,我...
    開封第一講書人閱讀 39,211評論 0 276
  • 序言:老撾萬榮一對情侶失蹤志群,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后蛔钙,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體锌云,經(jīng)...
    沈念sama閱讀 45,655評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,846評論 3 336
  • 正文 我和宋清朗相戀三年吁脱,在試婚紗的時候發(fā)現(xiàn)自己被綠了桑涎。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,965評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡兼贡,死狀恐怖攻冷,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情遍希,我是刑警寧澤等曼,帶...
    沈念sama閱讀 35,684評論 5 347
  • 正文 年R本政府宣布,位于F島的核電站凿蒜,受9級特大地震影響禁谦,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜废封,卻給世界環(huán)境...
    茶點故事閱讀 41,295評論 3 329
  • 文/蒙蒙 一枷畏、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧虱饿,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,894評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至爽冕,卻和暖如春仇祭,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背颈畸。 一陣腳步聲響...
    開封第一講書人閱讀 33,012評論 1 269
  • 我被黑心中介騙來泰國打工乌奇, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人眯娱。 一個月前我還...
    沈念sama閱讀 48,126評論 3 370
  • 正文 我出身青樓礁苗,卻偏偏與公主長得像,于是被迫代替她去往敵國和親徙缴。 傳聞我的和親對象是個殘疾皇子试伙,可洞房花燭夜當晚...
    茶點故事閱讀 44,914評論 2 355

推薦閱讀更多精彩內(nèi)容