解決pod私有庫發(fā)布時(shí)archs i386/x86_64 lint失敗的問題

問題描述

發(fā)布私有庫時(shí)用僧,如果庫支持arch i386/x86_64歹叮,在執(zhí)行pod spec lint ...或者直接執(zhí)行pod repo push ...時(shí)寓涨,通常會報(bào)下面的錯(cuò)誤澎蛛,部分terminal信息如下:

The following build commands failed:
        Ld /Users/someone/Library/Developer/Xcode/DerivedData/App-gavlycpgugozzpabewwnvvizmsua/Build/Intermediates.noindex/App.build/Release-iphonesimulator/App.build/Objects-normal/x86_64/App normal x86_64
    (1 failure)
   Testing with `xcodebuild`. 
 -> sdk_release (1.0.0)
    - ERROR | [iOS] xcodebuild: Returned an unsuccessful exit code.
    - NOTE  | xcodebuild:  note: Using new build system
    - NOTE  | [iOS] xcodebuild:  note: Planning build
    - NOTE  | [iOS] xcodebuild:  note: Constructing build description
    - NOTE  | [iOS] xcodebuild:  warning: Skipping code signing because the target does not have an Info.plist file. (in target 'App')
    - NOTE  | [iOS] xcodebuild:  clang: error: linker command failed with exit code 1 (use -v to see invocation)
......

[!] The `sdk_release.podspec` specification does not validate.

引起的原因

可參考
https://github.com/CocoaPods/CocoaPods/issues/5854
https://github.com/CocoaPods/CocoaPods/issues/5472
https://stackoverflow.com/questions/36618252/cocoapods-podspec-push-without-build-simulator-architecture

解決方案

一 追加option --skip-import-validation

pod repo push privSpecs xxxxxx.podspec --allow-warnings --skip-import-validation
pod spec lint  xxxxxx.podspec --skip-import-validation

--skip-import-validation的描述可參見
https://guides.cocoapods.org/terminal/commands.html#pod_spec_lint

二修改validator.rb

在本地Cocoapods的安裝目錄下找到文件validator.rb
終端執(zhí)行

gem which cocoapods

返回cocoapods.rb文件的路徑

/Users/XXXXXX/.rvm/gems/ruby-2.3.0/gems/cocoapods-1.5.3/lib/cocoapods.rb

在和cocoapods.rb同級的目錄下存在Folder "/cocoapods/"宗兼,validator.rb即在它里面躏鱼。

MacBook-Pro:cocoapods user$ ls
command         gem_version.rb      sandbox
command.rb      generator       sandbox.rb
config.rb       hooks_manager.rb    sources_manager.rb
core_overrides.rb   installer       target
downloader      installer.rb        target.rb
downloader.rb       open-uri.rb     user_interface
executable.rb       project.rb      user_interface.rb
external_sources    resolver        validator.rb
external_sources.rb resolver.rb

打開validator.rb,找到驗(yàn)證方法xcodebuild(action, scheme, configuration)的調(diào)用方法注掉即可

def xcodebuild(action, scheme, configuration)
      require 'fourflusher'
      command = %W(clean #{action} -workspace #{File.join(validation_dir, 'App.xcworkspace')} -scheme #{scheme} -configuration #{configuration})
      case consumer.platform_name
      when :osx, :macos
        command += %w(CODE_SIGN_IDENTITY=)
      when :ios
        command += %w(CODE_SIGN_IDENTITY=- -sdk iphonesimulator)
        command += Fourflusher::SimControl.new.destination(:oldest, 'iOS', deployment_target)
      when :watchos
        command += %w(CODE_SIGN_IDENTITY=- -sdk watchsimulator)
        command += Fourflusher::SimControl.new.destination(:oldest, 'watchOS', deployment_target)
      when :tvos
        command += %w(CODE_SIGN_IDENTITY=- -sdk appletvsimulator)
        command += Fourflusher::SimControl.new.destination(:oldest, 'tvOS', deployment_target)
      end

      # 注掉此處代碼
#      begin
#        _xcodebuild(command, true)
#      rescue => e
#        message = 'Returned an unsuccessful exit code.'
#        message += ' You can use `--verbose` for more information.' unless config.verbose?
#        error('xcodebuild', message)
#        e.message
#      end
end
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末殷绍,一起剝皮案震驚了整個(gè)濱河市染苛,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌主到,老刑警劉巖茶行,帶你破解...
    沈念sama閱讀 206,214評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異登钥,居然都是意外死亡畔师,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,307評論 2 382
  • 文/潘曉璐 我一進(jìn)店門牧牢,熙熙樓的掌柜王于貴愁眉苦臉地迎上來看锉,“玉大人,你說我怎么就攤上這事塔鳍〔常” “怎么了?”我有些...
    開封第一講書人閱讀 152,543評論 0 341
  • 文/不壞的土叔 我叫張陵轮纫,是天一觀的道長懂傀。 經(jīng)常有香客問我,道長蜡感,這世上最難降的妖魔是什么蹬蚁? 我笑而不...
    開封第一講書人閱讀 55,221評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮郑兴,結(jié)果婚禮上犀斋,老公的妹妹穿的比我還像新娘。我一直安慰自己情连,他們只是感情好叽粹,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,224評論 5 371
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著却舀,像睡著了一般虫几。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上挽拔,一...
    開封第一講書人閱讀 49,007評論 1 284
  • 那天辆脸,我揣著相機(jī)與錄音,去河邊找鬼螃诅。 笑死啡氢,一個(gè)胖子當(dāng)著我的面吹牛状囱,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播倘是,決...
    沈念sama閱讀 38,313評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼亭枷,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了搀崭?” 一聲冷哼從身側(cè)響起叨粘,我...
    開封第一講書人閱讀 36,956評論 0 259
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎瘤睹,沒想到半個(gè)月后宣鄙,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,441評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡默蚌,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,925評論 2 323
  • 正文 我和宋清朗相戀三年冻晤,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片绸吸。...
    茶點(diǎn)故事閱讀 38,018評論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡鼻弧,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出锦茁,到底是詐尸還是另有隱情攘轩,我是刑警寧澤,帶...
    沈念sama閱讀 33,685評論 4 322
  • 正文 年R本政府宣布码俩,位于F島的核電站度帮,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏稿存。R本人自食惡果不足惜笨篷,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,234評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望瓣履。 院中可真熱鬧率翅,春花似錦、人聲如沸袖迎。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,240評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽燕锥。三九已至辜贵,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間归形,已是汗流浹背托慨。 一陣腳步聲響...
    開封第一講書人閱讀 31,464評論 1 261
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留连霉,地道東北人榴芳。 一個(gè)月前我還...
    沈念sama閱讀 45,467評論 2 352
  • 正文 我出身青樓,卻偏偏與公主長得像跺撼,于是被迫代替她去往敵國和親窟感。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,762評論 2 345

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

  • 最近想為公司搭建cocoapods私有庫框架歉井,老早之前做過柿祈,踩過不少坑,想不到又一次掉坑里哩至。果真是好記性不如爛筆頭...
    生光閱讀 1,521評論 0 4
  • 目前比較流行的組件化開發(fā)躏嚎,針對多個(gè) app 要用同一套代碼,將其做成 pod 倉庫是比較好的解決方案菩貌。代碼只有一份...
    ripperhe閱讀 5,397評論 8 39
  • 項(xiàng)目組件化卢佣、平臺化是技術(shù)公司的共同目標(biāo),越來越多的技術(shù)公司推崇使用pod管理第三方庫以及私有組件箭阶,一方面使項(xiàng)目架構(gòu)...
    swu_luo閱讀 21,469評論 0 39
  • 目錄 環(huán)境 TL;DR(步驟概述)1虚茶、創(chuàng)建示例工程2、編寫 Pod 庫3仇参、Build 項(xiàng)目后嘹叫,在 Demo 工程中...
    Vinc閱讀 6,126評論 3 7
  • CocoaPods是Swift和Objective-C項(xiàng)目依賴管理器罩扇,使用CocoaPods可以優(yōu)雅的擴(kuò)展你的項(xiàng)目...
    pro648閱讀 3,190評論 1 11