Flutter 開發(fā)iOS插件 引用三方框架

具體如何創(chuàng)建插件依賴插件申窘,可參考閑魚技術

現在有一個調用阿里云上傳圖片的插件alioss丢习,打開文件夾其中有個目錄是ios,仔細查看有個alioss.podspec文件酪呻,用CocaPods創(chuàng)建過自己庫的同學應該不陌生羞迷,文件內容如下:

#
# To learn more about a Podspec see http://guides.cocoapods.org/syntax/podspec.html
#
Pod::Spec.new do |s|
  s.name             = 'alioss'
  s.version          = '0.0.1'
  s.summary          = 'A new Flutter plugin.'
  s.description      = <<-DESC
A new Flutter plugin.
                       DESC
  s.homepage         = 'http://example.com'
  s.license          = { :file => '../LICENSE' }
  s.author           = { 'Your Company' => 'email@example.com' }
  s.source           = { :path => '.' }
  s.source_files = 'Classes/**/*'
  s.public_header_files = 'Classes/**/*.h'
  s.dependency 'Flutter'
  s.ios.deployment_target = '8.0'
end

1.引用阿里三方庫我們在倒數第二行添加界轩。

  s.dependency 'AliyunOSSiOS'

這樣我們就引用了阿里的pod庫了,封裝好相關的上傳代碼衔瓮,到flutter主工程下的ios目錄下pod install 完成后浊猾,就可以測試上傳文件的代碼了。

2热鞍、引用三方靜態(tài)庫(.a文件)我們再添加一行葫慎。(在另一個插件里有個連接打印機功能衔彻,就不再重復.podspec文件了)

s.vendored_libraries = 'Classes/LPAPI/CAR_PRINT.a'

然后把靜態(tài)庫放在相應的文件夾路徑下,同樣使用pod install重新構建工程偷办,run下會報警告報錯艰额,內容如下:

Warning: no rule to process file '/Users/xxx/development/FlutterPlugin/xxx/ios/Classes/LPAPI/CAR_PRINT.a' of type archive.ar for architecture armv7
Warning: no rule to process file '/Users/xxx/development/FlutterPlugin/xxx/ios/Classes/LPAPI/CAR_PRINT.a' of type archive.ar for architecture arm64
ld: library not found for -lCAR_PRINT
clang: error: linker command failed with exit code 1 (use -v to see invocation)

這時候需要刪除 flutter主工程的pods下對應的插件(千萬要找到引用.a對應的插件)的TARGETS-->Build Settings->Other Linker Flags列表中的-l"CAR_PRINT" 選項,再run一下還是報警告報錯椒涯,內容如下:

Warning: no rule to process file '/Users/xxx/development/FlutterPlugin/xxx/ios/Classes/LPAPI/CAR_PRINT.a' of type archive.ar for architecture armv7
Warning: no rule to process file '/Users/xxx/development/FlutterPlugin/xxx/ios/Classes/LPAPI/CAR_PRINT.a' of type archive.ar for architecture arm64
Undefined symbols for architecture arm64:
  "_OBJC_CLASS_$_LPAPI", referenced from:
      objc-class-ref in PrinterViewController.o
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

說明PrinterViewController文件引用了CAR_PRINT.a的頭文件柄沮。
這時候我們需要TARGETS-->Build Phases-->Compile Sources 刪除CAR_PRINT.a文件,再在Compile Sources同級的另一個選項Link Binary With Libraries 里添加剛剛刪除的CAR_PRINT.a文件废岂。

最后再run一下祖搓,控制臺顯示內容如下:

Launching lib/main.dart on iPhone 8 in debug mode...
Xcode build done.                                           51.9s

最后我們還要根據引用.a靜態(tài)庫的提示是否要在插件的TARGETS-->Build Settings->Other Linker Flags列表中加入-ObjC或-all_load等其他flag.

如果上述步驟出錯可以使用pod install重置設置選項,還有xcode還是無法運行flutter主工程的泪喊,我用的是vscode和vscode flutter插件來運行棕硫。

3髓涯、引用三方動態(tài)庫Framework的坑還沒試過袒啼,最后的資料里有提到。

最后我們來一張運行圖紀念一下纬纪。

Simulator Screen Shot - iPhone 8 - 2019-04-04 at 13.14.10.png

想詳細了解xxxx.podspec文件的可以移步官網解釋技術帖子

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末蚓再,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子包各,更是在濱河造成了極大的恐慌摘仅,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,820評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件问畅,死亡現場離奇詭異娃属,居然都是意外死亡,警方通過查閱死者的電腦和手機护姆,發(fā)現死者居然都...
    沈念sama閱讀 94,648評論 3 399
  • 文/潘曉璐 我一進店門矾端,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人卵皂,你說我怎么就攤上這事秩铆。” “怎么了灯变?”我有些...
    開封第一講書人閱讀 168,324評論 0 360
  • 文/不壞的土叔 我叫張陵殴玛,是天一觀的道長。 經常有香客問我添祸,道長滚粟,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,714評論 1 297
  • 正文 為了忘掉前任刃泌,我火速辦了婚禮凡壤,結果婚禮上愧沟,老公的妹妹穿的比我還像新娘。我一直安慰自己鲤遥,他們只是感情好沐寺,可當我...
    茶點故事閱讀 68,724評論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著盖奈,像睡著了一般混坞。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上钢坦,一...
    開封第一講書人閱讀 52,328評論 1 310
  • 那天究孕,我揣著相機與錄音,去河邊找鬼爹凹。 笑死厨诸,一個胖子當著我的面吹牛,可吹牛的內容都是我干的禾酱。 我是一名探鬼主播微酬,決...
    沈念sama閱讀 40,897評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼颤陶!你這毒婦竟也來了颗管?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 39,804評論 0 276
  • 序言:老撾萬榮一對情侶失蹤滓走,失蹤者是張志新(化名)和其女友劉穎垦江,沒想到半個月后,有當地人在樹林里發(fā)現了一具尸體搅方,經...
    沈念sama閱讀 46,345評論 1 318
  • 正文 獨居荒郊野嶺守林人離奇死亡比吭,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 38,431評論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現自己被綠了姨涡。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片衩藤。...
    茶點故事閱讀 40,561評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖绣溜,靈堂內的尸體忽然破棺而出慷彤,到底是詐尸還是另有隱情,我是刑警寧澤怖喻,帶...
    沈念sama閱讀 36,238評論 5 350
  • 正文 年R本政府宣布底哗,位于F島的核電站,受9級特大地震影響锚沸,放射性物質發(fā)生泄漏跋选。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,928評論 3 334
  • 文/蒙蒙 一哗蜈、第九天 我趴在偏房一處隱蔽的房頂上張望前标。 院中可真熱鬧坠韩,春花似錦、人聲如沸炼列。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,417評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽俭尖。三九已至氢惋,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間稽犁,已是汗流浹背焰望。 一陣腳步聲響...
    開封第一講書人閱讀 33,528評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留已亥,地道東北人熊赖。 一個月前我還...
    沈念sama閱讀 48,983評論 3 376
  • 正文 我出身青樓,卻偏偏與公主長得像虑椎,于是被迫代替她去往敵國和親震鹉。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,573評論 2 359

推薦閱讀更多精彩內容