Flutter plugin 導(dǎo)入iOS 三方庫/資源

Flutter開發(fā)過程中若需要導(dǎo)入三方庫杀捻,需要創(chuàng)建一個(gè)Flutter plugin并導(dǎo)入到當(dāng)前的flutter工程,這個(gè)plugin支持的類型(iOS or Android)可選秒赤,主要用于管理即將導(dǎo)入的三方庫。此時(shí)就相當(dāng)于pod install該Framework(iOS環(huán)境下)憎瘸。

  1. Flutter 創(chuàng)建Plugins之后入篮,包名如 flutter_plugin_indoor_map,先用Android Studio打開 flutter_plugin_indoor_map 項(xiàng)目幌甘,并運(yùn)行潮售。

  2. 將第三方庫在Finder中放入 flutter_plugin_indoor_map 下一級的ios文件夾中痊项。
    注,不是example的iOS文件夾酥诽。

  3. 用Xcode打開example的ios項(xiàng)目鞍泉,展開Pods,在flutter_plugin_indoor_map文件夾下肮帐,新建Framework文件夾咖驮,并將之前的第三方framework拉入該文件夾下(彈框不用選擇copy)。

  1. 在Assets目錄下添加自定義的.xcassets文件泪姨,并在里面添加插件所需的圖片資源游沿,這個(gè).xcassets文件的圖片資源是給插件里面的代碼使用的。

  2. 配置.podspec文件肮砾,添加.framework與.bundle資源诀黍。

右邊的框框填寫完成后,終端進(jìn)入Profile文件的路徑仗处,運(yùn)行pod install眯勾,則出現(xiàn)上圖左邊框框的內(nèi)容,此時(shí)導(dǎo)入framework成功婆誓,你可以在xxxPlugin.m文件調(diào)用framework的代碼了

  1. 運(yùn)行項(xiàng)目即可吃环。

podspec文件字段注釋:

Pod::Spec.new do |s|
s.name         = "XXXSDK"
s.version      = "1.0.0"
s.summary      = "這是一個(gè)SDK"
s.description  = "這是一個(gè)SDK 一定要比summary長."
s.homepage     = "https://github.com/xxxx/XXXSDK"
s.license      = { :type => "MIT", :file => "LICENSE" }
s.author       = { "作者" => "123456@qq.com" }
s.platform     = :ios, "8.0"
 
#  When using multiple platforms iOS部署版本
# s.ios.deployment_target = "5.0"
# s.osx.deployment_target = "10.7"
 
#1 git commit -m =>"13287dd",講pod版本與git倉庫中的某一次提交綁定
#s.source = { :git => "https://github.com/xxxx/XXXSDK", :commit => "13287dd" }
#2 將這個(gè)Pod版本與Git倉庫中某個(gè)版本的comit綁定 
#s.source = { :git => "https://github.com/xxxx/XXXSDK", :tag => 1.0.0 }
#3 將這個(gè)Pod版本與Git倉庫中相同版本的comit綁定
#s.source = { :git => "https://github.com/xxxx/XXXSDK", :tag => s.version }
s.source       = { :git => "https://github.com/xxxx/XXXSDK.git", :tag => "v#{s.version}" }
s.source_files  = "XXXSDK", "XXXSDK/openSource/*.{h,m}"
s.vendored_frameworks = 'XXXSDK/lib/XXXSDK.framework'
s.resources          = "XXXSDK/resource/resource.bundle"
s.framework  = "UIKit"
#s.resource    = "XXXSDK/resource/resource.jpg"
#s.frameworks = "SomeFramework", "AnotherFramework"
#引用libxml2.lib和libz.lib、tbd 洋幻,去掉頭尾的lib
# s.library   = "z"
# s.libraries = "z", "xml2"
#s.vendored_libraries = 'XXXSDK/lib/XXXSDK.a'
s.requires_arc = true
# s.xcconfig = { "HEADER_SEARCH_PATHS" => "$(SDKROOT)/usr/include/libxml2" }
# s.dependency "JSONKit", "~> 1.4" s.dependency = 'AFNetworking', '~> 2.3' s.dependency = 'SDWebImage'
# 創(chuàng)建子庫
#s.subspec 'Components' do |ss|
#ss.source_files = 'YDKit/Components/*/.{h,m}'
#end
end
 
 
//--------------------------------------------------------
// 以下是上面代碼的功能注解
 
s.name: 
名稱
pod search 搜索的關(guān)鍵詞,一定要和.podspec的名稱一樣,否則報(bào)錯
s.version: 
版本號
s.ios.deployment_target: 
支持的pod最低版本
s.summary: 
簡介
s.homepage: 
項(xiàng)目主頁地址
s.license: 
開源協(xié)議(創(chuàng)建github庫的時(shí)候選擇的)
s.author: 
作者信息(這里隨便謝謝也可以通過)
s.social_media_url: 
社交網(wǎng)址
s.source: 
項(xiàng)目的地址
s.source_files: 
需要包含的源文件
s.resource: 
資源文件,單個(gè)
s.resources: 
資源文件(含bundle)
s.vendored_frameworks: 
包含的framework,也就是我們自己制作的pod
s.requires_arc: 
是否支持ARC
s.dependency: 
依賴庫郁轻,不能依賴未發(fā)布的庫.如AFNetWorking
s.description: 
描述,字?jǐn)?shù)要比s.summary長
s.screenshots: 
截圖
s.exclude_files: 
隱藏的文件
s.public_header_files: 
公開的頭文件
s.framework: 
所需的framework,單個(gè)
s.frameworks: 
所需的framework,多個(gè)用逗號隔開
s.library 
引用的靜態(tài)庫
s.libraries 
引用的靜態(tài)庫,多個(gè)用逗號隔開
s.vendored_libraries: 
引用自己生成的.a
s.vendored_frameworks: 
引用自己生成的.framework,多個(gè)用逗號隔開
s.dependency: 
依賴的庫
s.ios.deployment_target 
iOS部署版本

參考文章:
https://blog.csdn.net/sinat_31177681/article/details/95476489
https://blog.csdn.net/u012891546/article/details/125319369
https://stackoverflow.com/questions/63120229/cocoapod-spec-unable-to-find-other-source-ref-for-contents-json

resources+和+resource_bundles
assets.car

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市文留,隨后出現(xiàn)的幾起案子好唯,更是在濱河造成了極大的恐慌,老刑警劉巖燥翅,帶你破解...
    沈念sama閱讀 218,755評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件骑篙,死亡現(xiàn)場離奇詭異,居然都是意外死亡森书,警方通過查閱死者的電腦和手機(jī)靶端,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,305評論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來凛膏,“玉大人杨名,你說我怎么就攤上這事〔粒” “怎么了镣煮?”我有些...
    開封第一講書人閱讀 165,138評論 0 355
  • 文/不壞的土叔 我叫張陵,是天一觀的道長鄙麦。 經(jīng)常有香客問我典唇,道長镊折,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,791評論 1 295
  • 正文 為了忘掉前任介衔,我火速辦了婚禮恨胚,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘炎咖。我一直安慰自己赃泡,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,794評論 6 392
  • 文/花漫 我一把揭開白布乘盼。 她就那樣靜靜地躺著升熊,像睡著了一般。 火紅的嫁衣襯著肌膚如雪绸栅。 梳的紋絲不亂的頭發(fā)上级野,一...
    開封第一講書人閱讀 51,631評論 1 305
  • 那天,我揣著相機(jī)與錄音粹胯,去河邊找鬼蓖柔。 笑死,一個(gè)胖子當(dāng)著我的面吹牛风纠,可吹牛的內(nèi)容都是我干的况鸣。 我是一名探鬼主播,決...
    沈念sama閱讀 40,362評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼竹观,長吁一口氣:“原來是場噩夢啊……” “哼镐捧!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起臭增,我...
    開封第一講書人閱讀 39,264評論 0 276
  • 序言:老撾萬榮一對情侶失蹤愤估,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后速址,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,724評論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡由驹,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,900評論 3 336
  • 正文 我和宋清朗相戀三年钝诚,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了擂啥。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,040評論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖驻民,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情昧互,我是刑警寧澤筋蓖,帶...
    沈念sama閱讀 35,742評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站澜搅,受9級特大地震影響伍俘,放射性物質(zhì)發(fā)生泄漏邪锌。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,364評論 3 330
  • 文/蒙蒙 一癌瘾、第九天 我趴在偏房一處隱蔽的房頂上張望觅丰。 院中可真熱鬧,春花似錦妨退、人聲如沸妇萄。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,944評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽冠句。三九已至,卻和暖如春幸乒,著一層夾襖步出監(jiān)牢的瞬間懦底,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,060評論 1 270
  • 我被黑心中介騙來泰國打工逝变, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留基茵,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,247評論 3 371
  • 正文 我出身青樓壳影,卻偏偏與公主長得像拱层,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子宴咧,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,979評論 2 355

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