Flutter插件开发《Podspec语法整理》
在項目開發(fā)過程中我們不可避免的使用到第三方開發(fā)庫,這篇文章主要講解了一款類庫管理工具CocoaPods,下面就為大家分析一下CocoaPods的一種文件格式語法Podspec。
簡介
Podspec規(guī)范的描述了一個pod庫的版本,它包括有關(guān)應(yīng)從何處獲取源、要使用什么文件、應(yīng)用的構(gòu)建設(shè)置以及其他一般元數(shù)據(jù)(如其名稱、版本和描述)的詳細信息。
A specification describes a version of Pod library. It includes details about where the source should be fetched from, what files to use, the build settings to apply, and other general metadata such as its name, version, and description.
Podfile最基本的用法
在iOS項目下運行pod init會生成如下文件,相信iOS開發(fā)的童鞋對他非常熟悉了,就不在過多的介紹
# Uncomment the next line to define a global platform for your project # platform :ios, '9.0'# 添加網(wǎng)絡(luò)庫 pod 'AFNetworking', '~> 3.2.1'target 'Demo' do# Uncomment the next line if you're using Swift or would like to use dynamic frameworks# use_frameworks!# Pods for Demoend 復(fù)制代碼小技巧:如果想要搜索某個庫,可以使用pod search,例如:pod search AFNetworking
Podspec語法
1、如何創(chuàng)建Podspec文件
pod spec create
pod spec create [NAME|https://github.com/USER/REPO]
在當前工作目錄中創(chuàng)建一個名為PodSpec的PodSpec NAME.podspec。如果傳遞了GitHub網(wǎng)址,則預(yù)先填充規(guī)范。
2、根的規(guī)范,常用的
Pod的名稱,定義該庫的名稱,例如:
s.name = 'AFNetworking' 等等
3、不常用
libraries,用戶目標(應(yīng)用程序)需要鏈接的系統(tǒng)庫列表,注意是需要連接的系統(tǒng)庫列表, 例如在庫中引入了其他庫文件,但是其他庫文件又需要某些系統(tǒng)的庫,這時我們就需要這種方式引入(這個地方在開發(fā)Flutter iOS庫文件時坑了我整整快一天了各種第三方庫引用,然后又各種問題)
s.libraries = 'xml2', 'z', 'sqlite3', 'c++'
frameworks,用戶目標需要鏈接的系統(tǒng)框架列表,注意是需要鏈接的系統(tǒng)框架列表
s.frameworks = 'QuartzCore', 'CoreData', 'MobileCoreServices', 'CFNetwork', 'CoreGraphics'
dependency, 對其他Pod或“子規(guī)范”的依賴性。依賴關(guān)系可以指定版本要求。~>建議使用樂觀版本指示器,因為它可以很好地控制版本,而不會過于嚴格。例如, ~> 1.0.1相當于>= 1.0.1結(jié)合使用< 1.1。同樣, ~> 1.0將匹配1.0,1.0.1,1.1,但不會升級到2.0。
s.dependency 'MBProgressHUD', '~> 0.5'
vendored_frameworks, 隨Pod一起提供的框架捆綁包的路徑
s.vendored_frameworks = 'A.framework', 'B.framework'
上述3、不常用的就是就是今天遇到的坑
更多其他功能請詳見:guides.cocoapods.org/syntax/pods…
總結(jié)
以上是生活随笔為你收集整理的Flutter插件开发《Podspec语法整理》的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python3 案例分享--Jupyte
- 下一篇: [HAOI 2018]染色