日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

什么是Podfile呢?送给你来自官网的介绍

發布時間:2023/12/31 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 什么是Podfile呢?送给你来自官网的介绍 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

    • 官網地址
    • 什么是Podfile
    • 遷移從0.x 到 1.0
    • 指定pod版本
    • 使用計算機本地文件夾中的文件。
    • 從庫repo根目錄中的一個播客規范。
    • 外部資源
    • 寫在最后

官網地址

官網介紹

什么是Podfile

Podfile是描述一個或多個Xcode項目目標的依賴關系的規范。該文件應該簡單地命名為Podfile。指南中的所有示例都是基于CocoaPods 1.0及以上版本的。

一個Podfile可以非常簡單,這增加了一個單一的目標:

target 'MyApp' douse_frameworks!pod 'Alamofire', '~> 3.0' end

一個更復雜的鏈接應用程序和它的測試包的Podfile示例:

source 'https://github.com/CocoaPods/Specs.git' source 'https://github.com/Artsy/Specs.git'platform :ios, '9.0' inhibit_all_warnings!target 'MyApp' dopod 'GoogleAnalytics', '~> 3.1'# Has its own copy of OCMock# and has access to GoogleAnalytics via the app# that hosts the test targettarget 'MyAppTests' doinherit! :search_pathspod 'OCMock', '~> 2.0.1'end endpost_install do |installer|installer.pods_project.targets.each do |target|puts target.nameend end

如果希望多個目標共享相同的pods,請使用***abstract_target***。

# There are no targets called "Shows" in any Xcode projects abstract_target 'Shows' dopod 'ShowsKit'pod 'Fabric'# Has its own copy of ShowsKit + ShowWebAuthtarget 'ShowsiOS' dopod 'ShowWebAuth'end# Has its own copy of ShowsKit + ShowTVAuthtarget 'ShowsTV' dopod 'ShowTVAuth'end end

有隱式抽象目標在根的Podfile,所以你可以寫上面的例子:

pod 'ShowsKit' pod 'Fabric'# Has its own copy of ShowsKit + ShowWebAuth target 'ShowsiOS' dopod 'ShowWebAuth' end# Has its own copy of ShowsKit + ShowTVAuth target 'ShowsTV' dopod 'ShowTVAuth' end

遷移從0.x 到 1.0

我們有一篇博客文章詳細解釋了這些變化。

指定pod版本

在開始一個項目時,您可能希望使用最新版本的Pod。如果是這種情況,只需忽略版本需求。

pod 'SSZipArchive'

稍后在項目中,您可能希望凍結到某個Pod的特定版本,在這種情況下,您可以指定該版本號。

pod 'Objection', '0.9'

除了沒有版本或特定的版本之外,還可以使用邏輯操作符:

  • ‘> 0.1’ Any version higher than 0.1(’> 0.1’任何高于0.1的版本)
  • ‘>= 0.1’ Version 0.1 and any higher version(’>= 0.1’版本0.1和任何更高版本)
  • ‘< 0.1’ Any version lower than 0.1(’< 0.1’小于0.1的任何版本)
  • ‘<= 0.1’ Version 0.1 and any lower version(’<= 0.1’版本0.1和任何更低的版本)

CocoaPods除了邏輯運算符外,還有一個樂觀運算符~>:

  • ‘~> 0.1.2’ Version 0.1.2 and the versions up to 0.2, not including 0.2 and higher(’~> 0.1.2’版本0.1.2和0.2以內的版本,不包括0.2及以上版本)
  • ‘~> 0.1’ Version 0.1 and the versions up to 1.0, not including 1.0 and higher(’~> 0.1’版本0.1和版本到1.0,不包括1.0和更高)
  • ‘~> 0’ Version 0 and the versions up to 1.0, not including 1.0 and higher(’~> '版本0和版本到1.0,不包括1.0和更高)

有關版本控制策略的更多信息,請參見:

  • Semantic Versioning(語義版本控制)

  • RubyGems Versioning Policies(RubyGems版本管理策略)

  • 谷歌有一個很棒的視頻介紹了它是如何工作的:(天朝不翻墻打不開 - -!) “CocoaPods and the Case of the Squiggly Arrow (Route 85)”.

  • 注意,視頻中關于~> 1的信息是不正確的。

使用計算機本地文件夾中的文件。

如果您想要開發一個Pod及其客戶端項目,您可以使用:path。

pod 'Alamofire', :path => '~/Documents/Alamofire'

使用這個選項,CocoaPods將假定給定的文件夾是Pod的根目錄,并將從那里直接鏈接到Pods項目中的文件。這意味著您的編輯將在安裝CocoaPods期間保持。引用的文件夾可以是您最喜歡的SCM的簽出,甚至是當前repo的git子模塊。

請注意,Pod文件的podspec應該在指定的文件夾中。

從庫repo根目錄中的一個播客規范。

有時你可能想要使用一個Pod的前沿版本,一個特定的修訂或你自己的叉子。如果是這種情況,您可以通過pod聲明來指定。

回購主分支的使用:

pod 'Alamofire', :git => 'https://github.com/Alamofire/Alamofire.git'

使用回購的不同分支:

pod 'Alamofire', :git => 'https://github.com/Alamofire/Alamofire.git', :branch => 'dev'

使用回購的標簽:

pod 'Alamofire', :git => 'https://github.com/Alamofire/Alamofire.git', :tag => '3.1.1'

或指定提交:

pod 'Alamofire', :git => 'https://github.com/Alamofire/Alamofire.git', :commit => '0f506b1c45'

但需要注意的是,這意味著該版本必須滿足其他Pod對Pod的任何其他依賴。

這個podspec文件應該在repo的根目錄中,如果這個庫的repo中還沒有一個podspec文件,那么您將不得不使用下面部分中列出的方法之一。

外部資源

  • Non-trivial Podfile in
    Artsy/Eigen(非平凡的Podfile在藝術/特征)
  • Podfile for a Swift project in
    Artsy/Eidolon(在一個Swift項目的播客文件藝術/的精靈)

寫在最后

首頁/使用Podfile/Podfile

CocoaPods是開源項目通過發送一個pull request來幫助我們改進這些指南

總結

以上是生活随笔為你收集整理的什么是Podfile呢?送给你来自官网的介绍的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。