国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

iOS開發(fā)提效cocoapods插件cocoapods-util

這篇具有很好參考價值的文章主要介紹了iOS開發(fā)提效cocoapods插件cocoapods-util。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

cocoapods-util介紹

cocoapods-util是一個iOS開發(fā)提效的cocoapods插件。

取名util的原因是我想做一個通用的插件,把一些iOS中常用的命令或問題整理起來。

插件中除了package命令是根據cocoapods-packager插件做了修改而來,其余命令都是屬于自己總結開發(fā)場景下的需求實現的,希望對各位iOSer有所幫助。

目前已支持功能有:

  1. pod repo push命令優(yōu)化,解決push私有庫慢、驗證時間長易失敗的問題
  2. 查看Pods組件安裝列表(詳細情況)以及各pod組件間的依賴關系
  3. 根據podspec文件打包生成二進制(.a、.framework、.xcframework)
  4. 把現有framework生成xcframework
  5. 二進制源碼鏈接調試
  6. 去除project.pbxproj文件重復引用

好了,話不多說,看一下插件怎么安裝使用吧。

安裝

$ gem install cocoapods-util

使用介紹

通過此命令查看util插件支持的所有功能

$ pod util --help

iOS開發(fā)提效cocoapods插件cocoapods-util

命令介紹

1. repo push

介紹

推送私有pod倉庫的命令,可以跳過驗證、跳過編譯過程,用于快速發(fā)布私有pod。

  • 可以通過添加--skip-validate的選項跳過驗證步驟。
  • 可以通過添加--skip-build的選項跳過編譯,但是會驗證tag,需要確保tag已存在。
$ pod util repo push --help

iOS開發(fā)提效cocoapods插件cocoapods-util

該命令是一個提效命令,在推送自己私有倉庫的時候可以通過設置--skip-validate選項跳過驗證直接推送到私有倉庫。

插件只是在原來的命令基礎上擴展了兩個參數,執(zhí)行命令的時候如果不配置這兩個參數,那么和原命令完全一樣。

示例

只需要在正常執(zhí)行pod repo push命令的時修改成pod util repo push。

$ pod util repo push [yourSpecs] [xxx.podspec] --skip-validate

2. install list

介紹

查看Pods安裝的列表(詳細情況)

  • 可以省去開發(fā)者自己去閱讀Podfile.lock文件的時間,直接友好的提示
  • 可以清晰的看出引用的組件個數、組件依賴情況、組件被依賴的情況、組件分支tag信息、倉庫地址等有效信息
  • 建議在Podfile文件所在目錄執(zhí)行此命令
$ pod util install list --help

iOS開發(fā)提效cocoapods插件cocoapods-util

示例

$ pod util install list --showmore

iOS開發(fā)提效cocoapods插件cocoapods-util

Tips:我在最新的插件版本中重新實現了此命令,使用cocoapods中Installer類提供的依賴解析方法來解析組件的依賴,實現更簡單,可以遞歸的查找到所有依賴的組件。

?3. xcframework

介紹

可以把現有的framework生成xcframework。

iOS開發(fā)提效cocoapods插件cocoapods-util

該命令可以分析出是某個平臺的framework(如ios、osx、watchos),直接在framework同級目錄生成xcframework。

根據不同平臺的framework,分別提取真機、模擬器對應架構的二進制,最終再組合成xcframework文件。

示例

把現有的Alamofire.framework生成Alamofire.xcframework

$ pod util xcframework Alamofire.framework --force 

iOS開發(fā)提效cocoapods插件cocoapods-util

?iOS開發(fā)提效cocoapods插件cocoapods-util

4. package

介紹

通過podspec文件生成library、framework、xcframework。

  • 支持swift和混編
  • 支持自定義配置dependency(如配置某個組件為branch依賴)
  • 支持排除模擬器
  • 支持多平臺(ios、osx、watchos、tvos)
  • 支持自定義設置工程的build settings(如:排除ios模擬器64位架構、設置支持的架構等)
  • 支持設置modular_headers
$ pod util package --help

iOS開發(fā)提效cocoapods插件cocoapods-util

示例

生成xcfrmework、framework或library

克隆AFNetworking的源碼到本地,進入AFNetworking源碼的根目錄下,執(zhí)行下面的命令

$ pod util package AFNetworking.podspec --force --local --xcframework

$ pod util package AFNetworking.podspec --force --local --framework

$ pod util package AFNetworking.podspec --force --local --library

iOS開發(fā)提效cocoapods插件cocoapods-util

排除模擬器

如果你不需要編譯模擬器架構,可以添加--exclude-sim

$ pod util package AFNetworking.podspec --force --local --xcframework --exclude-sim

平臺設置

如果你只需要編譯ios架構下的xcframework,可以添加--platforms=ios

$ pod util package AFNetworking.podspec --force --local --xcframework --exclude-sim --platforms=ios

build settings配置

如果你想要做一些build settings特殊配置,可以添加 --build-settings,如設置編譯選項排除模擬器arm64架構。理論上來講,可以像直接操作工程一樣,靈活的配置build settings

  • 如設置排除arm64位架構
$?--build-settings='{"EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64"}'
  • 設置編譯swift生成swiftinterface文件
$ -build-settings='{"BUILD_LIBRARY_FOR_DISTRIBUTION":"YES"}'
  • 或者你想設置多個編譯選項
$ -build-settings='{"EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","BUILD_LIBRARY_FOR_DISTRIBUTION":"YES","VALID_ARCHS":"arm64"}'

自定義dependencies

如果你依賴的組件并沒有發(fā)布到私有倉庫,只是分支依賴。?如果你依賴的組件和官方源有沖突,你需要修改指定source源,這時候你可以通過配置--dependency-config={}選項指定倉庫分支、tag或指定source源。

$ --dependency-config='{"PodA":{"git":"xxx","branch":"xxx"},"PodB":{"source":"xxx"}}'

5. linksource

介紹

源碼二進制鏈接功能。

$ pod util linksource --help

iOS開發(fā)提效cocoapods插件cocoapods-util

這個命令實現比較簡單,但是也不太實用。簡單來說就是源碼路徑在多臺電腦上很難統(tǒng)一,還會有權限問題。

6. uniq

介紹

對xcodeproj --> project.pbxproj文件做重復引用的去重。

該命令的來源是我發(fā)現工程的.pbxproj文件變得非常大,最大時發(fā)現有10M的大小,在執(zhí)行pod的更新時會卡在install的執(zhí)行過程User Project Integration這一步很長的時間。

我檢查了一下這個工程文件,發(fā)現這里面有許多重復的引用,這是由于項目長期merge代碼的過程中沒有很好的解決沖突,保留了相同的引用,所以才有了這個命令。

我嘗試對pbxproj文件做了去重,文件大小從10M減小到了1.7M,再執(zhí)行pod install安裝時就不會再卡在User Project Integration這一步驟了。

$ pod util uniq --help

iOS開發(fā)提效cocoapods插件cocoapods-util

示例

$ pod util uniq project.xcodeproj

反饋

如果使用中有什么問題,可以提交評論,也可以去我的項目地址中去提交issue,我看到后會盡快回復。文章來源地址http://www.zghlxwxcb.cn/news/detail-466879.html

到了這里,關于iOS開發(fā)提效cocoapods插件cocoapods-util的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • IOS之 安裝cocoapods問題

    1,安裝cocoapods sudo gem install cocoapods 問題:ERROR: ?Could not find a valid gem \\\'cocoapods\\\' (= 0) in any repository ? 2,升級gem 移除舊源,gem sources --remove?https://gems.ruby-china.org/ ?添加新源,gem sources -a?https://gems.ruby-china.com 檢查新源,gem sources -l 問題:報錯ssl證書錯誤 Error fetching https://gems

    2024年02月05日
    瀏覽(15)
  • 【iOS】Cocoapods的安裝以及使用

    【iOS】Cocoapods的安裝以及使用

    最近筆者在仿寫天氣預報App時用到了api調用數據,一般的基本數據類型我們用Xcode中自帶的框架就可以轉換得到。但是在和風天氣api中的圖標的格式為 svg 格式。 似乎iOS13之后Xcode中可以直接使用svg格式的圖片,但筆者沒有查到對應的資料。筆者就調用了第三方庫來使用svg格式

    2024年02月15日
    瀏覽(21)
  • 【iOS逆向與安全】iOS插件開發(fā)入門

    【iOS逆向與安全】iOS插件開發(fā)入門

    前言 經過之前的學習,相信你已經能熟練的使用Frida-trace、IDA Pro等逆向工具。不過,僅僅到這肯定是不夠的。接下來,學會把你逆向的結果打包成插件并運行,那iOS逆向,你也就真正的入門了。 一、目標 把逆向的結果制作成插件并運行 二、工具 mac系統(tǒng) Xcode:插件開發(fā)工具

    2024年02月09日
    瀏覽(27)
  • 【iOS逆向與安全】iOS插件開發(fā)光速入門

    【iOS逆向與安全】iOS插件開發(fā)光速入門

    經過之前的學習,相信你已經能熟練的使用Frida-trace、IDA Pro等逆向工具。不過,僅僅到這肯定是不夠的。接下來,學會把你逆向的結果打包成插件并運行,那iOS逆向,你也就真正的入門了。 把逆向的結果制作成插件并運行 mac系統(tǒng) Xcode:插件開發(fā)工具 已越獄iOS設備:運行deb插

    2024年02月06日
    瀏覽(24)
  • MAC機器Unity接入iOS SDK安裝cocoapods全攻略

    MAC機器Unity接入iOS SDK安裝cocoapods全攻略

    要在Unity3D里面接入iOS SDK,因此又在新mac上配置了一道環(huán)境。機器是Mac mini,芯片是M2,OS為Sonoma 14.2。 若Unity3D工程里面有EDM4U插件,且配置了Dependencies文件(文件內配置了iosPod),那么在導出XCode的工程時,會自動安裝CocoaPods,但多半會失敗。失敗原因多是機器自帶的ruby版本

    2024年04月29日
    瀏覽(61)
  • uniapp ios原生插件開發(fā)之module

    在文章《uniapp ios原生插件開發(fā) (framework,cocoapods)》中我們已經介紹了Module 類型的插件及其創(chuàng)建過程, 卻沒有深入的介紹Module類型插件開發(fā)過程中所涉及到的技術點。 本文呢就將重點放在對這些技術點的使用上進行詳解,算是是對上篇文章的一個補充與擴展。 在文章開始之前

    2024年02月13日
    瀏覽(23)
  • 【iOS逆向與安全】sms短信轉發(fā)插件開發(fā)

    【iOS逆向與安全】sms短信轉發(fā)插件開發(fā)

    經過之前的分享,相信大家已經掌握了用戶級的插件開發(fā)。勤奮好學的你是否對系統(tǒng)級的插件也有著濃厚的性趣,本篇文章將和大家一起學習如何分析并編寫一款系統(tǒng)級的插件。 一步步分析并編寫一個短信自動轉發(fā)的deb插件 mac系統(tǒng) 已越獄iOS設備:脫殼及frida調試 IDA Pro:靜態(tài)

    2024年02月10日
    瀏覽(14)
  • 終極解決Flutter項目運行ios項目報錯Without CocoaPods, plugins will not work on iOS or macOS.

    終極解決Flutter項目運行ios項目報錯Without CocoaPods, plugins will not work on iOS or macOS.

    最近在開發(fā)Flutter項目,運行ios環(huán)境的時候報錯沒有CocoaPods,安卓環(huán)境可以正常運行,當時一臉懵逼,網上搜索了一下,有給我講原理的,還有讓我安裝這插件那插件的,最終把電腦搞得卡死,還沒有解決我的問題,其實很多人和我一樣只想解決問題,而不是廢話一大堆的文章

    2024年01月22日
    瀏覽(24)
  • iOS pod install失敗,提示CocoaPods could not find compatible versions for pod “***“

    1.pod install失敗 在執(zhí)行 pod install 的時候會失敗,提示如下: 按提示執(zhí)行 pod install --repo-update 之后,還是失敗,提示: 造成報錯的原因有兩種: 一、兩者的都是由于本地索引庫沒有更新到最新,找不到對應版本的spec文件。 二、第三方庫依賴的系統(tǒng)版本號,高于項目的最低支

    2024年02月09日
    瀏覽(21)
  • XZ_iOS 之 M1 M2 M3的M系列芯片的Mac蘋果電腦安裝cocoapods

    XZ_iOS 之 M1 M2 M3的M系列芯片的Mac蘋果電腦安裝cocoapods

    安裝的前提,應用程序-終端-右鍵-顯示簡介-勾選 使用Rosetta打開,如下圖,然后重啟終端 安裝的順序如下:Homebrew-rvm-ruby-cocoapods 1、安裝Homebrew 安裝的時候報了以下錯誤,然后我打開了VPN,就很順滑的安裝了 fatal: unable to access \\\'https://github.com/Homebrew/brew/\\\': Failed to connect to gith

    2024年01月18日
    瀏覽(21)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包