iOS-如何在自己的sdk內(nèi)部依賴別人的framework

case: 我司對外提供sdk, 源碼隱藏, 只暴露header. 我自己的framework中依賴了其他的framework.

1. 創(chuàng)建一個pod開發(fā)模式workspace, 項目名字為LiveCore

命令行輸入:

 pod lib create LiveCore

接著會提示你是否要demo / OC? swift? / 文件前綴, 不贅述.

WechatIMG571.jpeg

2.成功后會有一個BJLiveCore.podsepc

#
# Be sure to run `pod lib lint LiveCore.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 http://guides.cocoapods.org/syntax/podspec.html
#

Pod::Spec.new do |s|
  s.name             = 'LiveCore'
  s.version          = '0.1.0'
  s.summary          = 'A short description of LiveCore.'

# 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         = 'https://github.com/oushizishu/LiveCore'
  # s.screenshots     = 'www.example.com/screenshots_1', 'www.example.com/screenshots_2'
  s.license          = { :type => 'MIT', :file => 'LICENSE' }
  s.author           = { '' => '' }
  s.source           = { :git => '這里改成你自己的倉庫名字', :tag => s.version.to_s }
  # s.social_media_url = 'https://twitter.com/<TWITTER_USERNAME>'

  s.ios.deployment_target = '8.0'

  s.source_files = 'LiveCore/Classes/**/*'
  
  # s.resource_bundles = {
  #   'LiveCore' => ['LiveCore/Assets/*.png']
  # }

  # s.public_header_files = 'Pod/Classes/**/*.h'
  # s.frameworks = 'UIKit', 'MapKit'
  # s.dependency 'AFNetworking', '~> 2.3'
end

需要注意:

  • s.source

3.如果這個LIveCore需要依賴BJHLMediaplay.framework

WechatIMG572.jpeg

在LiveCore的同級目錄新建一個frameworks文件, 當(dāng)然這個文件夾名字, 你可以隨便起, 只要不是中文就好, 然后把BJHLMediaplay.framework拉進(jìn)來

接下來就需要改LiveCore.podsec里面的內(nèi)容了

4.LiveCore.podsec

#
# Be sure to run `pod lib lint LiveCore.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 http://guides.cocoapods.org/syntax/podspec.html
#

Pod::Spec.new do |s|
  s.name             = 'LiveCore'
  s.version          = '0.1.0'
  s.summary          = 'A short description of LiveCore.'

# 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         = 'https://github.com/oushizishu/LiveCore'
  # s.screenshots     = 'www.example.com/screenshots_1', 'www.example.com/screenshots_2'
  s.license          = { :type => 'MIT', :file => 'LICENSE' }
  s.author           = { 'oushizishu' => 'xinyapeng@baijiahulian.com' }
  s.source           = { :git => 'https://github.com/oushizishu/LiveCore.git', :tag => s.version.to_s }
  # s.social_media_url = 'https://twitter.com/<TWITTER_USERNAME>'

  s.ios.deployment_target = '8.0'

  s.source_files = 'LiveCore/Classes/**/*'
  
  s.subspec 'BJHLMediaPlayer' do |ss|
  
      ss.vendored_frameworks = 'frameworks/BJHLMediaPlayer.framework' 
      
  #    ss.xcconfig = {'ENABLE_BITCODE' => 'NO'}
  #    ss.libraries = ['icucore', 'c++', 'stdc++.6', 'z']
  #    ss.frameworks = ['AVFoundation', 'GLKit', 'VideoToolbox']
  #    ss.dependency 'AFNetworking', '~> 2.3'
  end
  
  # s.resource_bundles = {
  #   'LiveCore' => ['LiveCore/Assets/*.png']
  # }

  # s.public_header_files = 'Pod/Classes/**/*.h'
  # s.frameworks = 'UIKit', 'MapKit'
  # s.dependency 'AFNetworking', '~> 2.3'
end

注意


  s.subspec 'BJHLMediaPlayer' do |ss|

  # 這個路徑要正確
      ss.vendored_frameworks = 'frameworks/BJHLMediaPlayer.framework' 

      # 以下根據(jù)需要添加
  #    ss.xcconfig = {'ENABLE_BITCODE' => 'NO'}
  #    ss.libraries = ['icucore', 'c++', 'stdc++.6', 'z']
  #    ss.frameworks = ['AVFoundation', 'GLKit', 'VideoToolbox']
  #    ss.dependency 'AFNetworking', '~> 2.3'
  end

5.打包

打包分為靜態(tài)庫和動態(tài)庫, 網(wǎng)上很多教程, 不贅述.

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末钮呀,一起剝皮案震驚了整個濱河市匹中,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,311評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡军熏,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,339評論 2 382
  • 文/潘曉璐 我一進(jìn)店門卷扮,熙熙樓的掌柜王于貴愁眉苦臉地迎上來荡澎,“玉大人均践,你說我怎么就攤上這事∧︶#” “怎么了彤委?”我有些...
    開封第一講書人閱讀 152,671評論 0 342
  • 文/不壞的土叔 我叫張陵,是天一觀的道長或衡。 經(jīng)常有香客問我焦影,道長,這世上最難降的妖魔是什么封断? 我笑而不...
    開封第一講書人閱讀 55,252評論 1 279
  • 正文 為了忘掉前任斯辰,我火速辦了婚禮,結(jié)果婚禮上坡疼,老公的妹妹穿的比我還像新娘彬呻。我一直安慰自己,他們只是感情好柄瑰,可當(dāng)我...
    茶點故事閱讀 64,253評論 5 371
  • 文/花漫 我一把揭開白布闸氮。 她就那樣靜靜地躺著,像睡著了一般教沾。 火紅的嫁衣襯著肌膚如雪蒲跨。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,031評論 1 285
  • 那天授翻,我揣著相機(jī)與錄音或悲,去河邊找鬼。 笑死藏姐,一個胖子當(dāng)著我的面吹牛隆箩,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播羔杨,決...
    沈念sama閱讀 38,340評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼杨蛋!你這毒婦竟也來了兜材?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 36,973評論 0 259
  • 序言:老撾萬榮一對情侶失蹤逞力,失蹤者是張志新(化名)和其女友劉穎曙寡,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體寇荧,經(jīng)...
    沈念sama閱讀 43,466評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡举庶,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,937評論 2 323
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了揩抡。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片户侥。...
    茶點故事閱讀 38,039評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡镀琉,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出蕊唐,到底是詐尸還是另有隱情屋摔,我是刑警寧澤,帶...
    沈念sama閱讀 33,701評論 4 323
  • 正文 年R本政府宣布替梨,位于F島的核電站钓试,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏副瀑。R本人自食惡果不足惜弓熏,卻給世界環(huán)境...
    茶點故事閱讀 39,254評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望糠睡。 院中可真熱鬧硝烂,春花似錦、人聲如沸铜幽。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,259評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽除抛。三九已至狮杨,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間到忽,已是汗流浹背橄教。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評論 1 262
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留喘漏,地道東北人护蝶。 一個月前我還...
    沈念sama閱讀 45,497評論 2 354
  • 正文 我出身青樓,卻偏偏與公主長得像翩迈,于是被迫代替她去往敵國和親持灰。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,786評論 2 345

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