Flutter插件开发《Podspec语法整理》
在項目開發過程中我們不可避免的使用到第三方開發庫,這篇文章主要講解了一款類庫管理工具CocoaPods,下面就為大家分析一下CocoaPods的一種文件格式語法Podspec。
簡介
Podspec規范的描述了一個pod庫的版本,它包括有關應從何處獲取源、要使用什么文件、應用的構建設置以及其他一般元數據(如其名稱、版本和描述)的詳細信息。
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開發的童鞋對他非常熟悉了,就不在過多的介紹
# Uncomment the next line to define a global platform for your project # platform :ios, '9.0'# 添加網絡庫 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 復制代碼小技巧:如果想要搜索某個庫,可以使用pod search,例如:pod search AFNetworking
Podspec語法
1、如何創建Podspec文件
pod spec create
pod spec create [NAME|https://github.com/USER/REPO]
在當前工作目錄中創建一個名為PodSpec的PodSpec NAME.podspec。如果傳遞了GitHub網址,則預先填充規范。
2、根的規范,常用的
Pod的名稱,定義該庫的名稱,例如:
s.name = 'AFNetworking' 等等
3、不常用
libraries,用戶目標(應用程序)需要鏈接的系統庫列表,注意是需要連接的系統庫列表, 例如在庫中引入了其他庫文件,但是其他庫文件又需要某些系統的庫,這時我們就需要這種方式引入(這個地方在開發Flutter iOS庫文件時坑了我整整快一天了各種第三方庫引用,然后又各種問題)
s.libraries = 'xml2', 'z', 'sqlite3', 'c++'
frameworks,用戶目標需要鏈接的系統框架列表,注意是需要鏈接的系統框架列表
s.frameworks = 'QuartzCore', 'CoreData', 'MobileCoreServices', 'CFNetwork', 'CoreGraphics'
dependency, 對其他Pod或“子規范”的依賴性。依賴關系可以指定版本要求。~>建議使用樂觀版本指示器,因為它可以很好地控制版本,而不會過于嚴格。例如, ~> 1.0.1相當于>= 1.0.1結合使用< 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…
總結
以上是生活随笔為你收集整理的Flutter插件开发《Podspec语法整理》的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python3 案例分享--Jupyte
- 下一篇: [HAOI 2018]染色