欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

簡陋的swift carthage copy-frameworks 輔助腳本代碼

 更新時間:2018年01月15日 09:08:24   作者:iOS122  
下面小編就為大家分享一篇簡陋的swift carthage copy-frameworks 輔助腳本代碼,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

在看 carthage 時,其中需要配置一個 copy-frameworks 腳本,此腳本特殊的地方,需要手動填寫 Input Files 和 Output Files.一個一個填寫,很糟心~

觀察了下,對應修改的是 xxx.xcodeproj/project.pbxproj 中這個文本文件的特定位置的字段,類似于:

/* Begin PBXShellScriptBuildPhase section */
  750D68EC2000817C006235CD /* ShellScript */ = {
   isa = PBXShellScriptBuildPhase;
   buildActionMask = 2147483647;
   files = (
   );
   inputPaths = (
    "$(SRCROOT)/Carthage/Build/iOS/Alamofire.framework",
   );
   outputPaths = (
    "$(BUILT_PRODUCTS_DIR)/$(FRAMEWORKS_FOLDER_PATH)/Alamofire.framework",
   );
   runOnlyForDeploymentPostprocessing = 0;
   shellPath = /bin/sh;
   shellScript = "/usr/local/bin/carthage copy-frameworks";
  };
/* End PBXShellScriptBuildPhase section */

所以,就像著,自動生成 inputPaths outputPaths ,然后直接手動修改 project.pbxproj 文件,試了下,可行.簡單 nodejs 腳本如下:

var glob = require("glob")
// options is optional
let frameWorks = glob.sync("**/*.framework", {
 cwd: "path/to/Carthage/Build/iOS/",
})
console.log(frameWorks)
let inputPaths = frameWorks.filter(p=>!p.includes("test")&&!p.includes("Test")).map((p)=>`$(SRCROOT)/Carthage/Build/iOS/${p}`)
let outputPaths = frameWorks.filter(p=>!p.includes("test")&&!p.includes("Test")).map((p)=>`$(BUILT_PRODUCTS_DIR)/$(FRAMEWORKS_FOLDER_PATH)/${p}`)
console.log(inputPaths)
console.log(outputPaths)
/*
控制臺的單引號,要手動全局替換為雙引號.
[ "$(SRCROOT)/Carthage/Build/iOS/Alamofire.framework",
 "$(SRCROOT)/Carthage/Build/iOS/Bond.framework",
 "$(SRCROOT)/Carthage/Build/iOS/Differ.framework",
 "$(SRCROOT)/Carthage/Build/iOS/HEXColor.framework",
 "$(SRCROOT)/Carthage/Build/iOS/KeychainAccess.framework",
 "$(SRCROOT)/Carthage/Build/iOS/Kingfisher.framework",
 "$(SRCROOT)/Carthage/Build/iOS/Lottie.framework",
 "$(SRCROOT)/Carthage/Build/iOS/Moya.framework",
 "$(SRCROOT)/Carthage/Build/iOS/ObjectMapper.framework",
 "$(SRCROOT)/Carthage/Build/iOS/PKHUD.framework",
 "$(SRCROOT)/Carthage/Build/iOS/ReactiveKit.framework",
 "$(SRCROOT)/Carthage/Build/iOS/ReactiveMoya.framework",
 "$(SRCROOT)/Carthage/Build/iOS/ReactiveSwift.framework",
 "$(SRCROOT)/Carthage/Build/iOS/Realm.framework",
 "$(SRCROOT)/Carthage/Build/iOS/RealmSwift.framework",
 "$(SRCROOT)/Carthage/Build/iOS/Result.framework",
 "$(SRCROOT)/Carthage/Build/iOS/RxBlocking.framework",
 "$(SRCROOT)/Carthage/Build/iOS/RxCocoa.framework",
 "$(SRCROOT)/Carthage/Build/iOS/RxMoya.framework",
 "$(SRCROOT)/Carthage/Build/iOS/RxSwift.framework",
 "$(SRCROOT)/Carthage/Build/iOS/SideMenu.framework",
 "$(SRCROOT)/Carthage/Build/iOS/SnapKit.framework",
 "$(SRCROOT)/Carthage/Build/iOS/SwiftyTimer.framework" ]
[ "$(BUILT_PRODUCTS_DIR)/$(FRAMEWORKS_FOLDER_PATH)/Alamofire.framework",
 "$(BUILT_PRODUCTS_DIR)/$(FRAMEWORKS_FOLDER_PATH)/Bond.framework",
 "$(BUILT_PRODUCTS_DIR)/$(FRAMEWORKS_FOLDER_PATH)/Differ.framework",
 "$(BUILT_PRODUCTS_DIR)/$(FRAMEWORKS_FOLDER_PATH)/HEXColor.framework",
 "$(BUILT_PRODUCTS_DIR)/$(FRAMEWORKS_FOLDER_PATH)/KeychainAccess.framework",
 "$(BUILT_PRODUCTS_DIR)/$(FRAMEWORKS_FOLDER_PATH)/Kingfisher.framework",
 "$(BUILT_PRODUCTS_DIR)/$(FRAMEWORKS_FOLDER_PATH)/Lottie.framework",
 "$(BUILT_PRODUCTS_DIR)/$(FRAMEWORKS_FOLDER_PATH)/Moya.framework",
 "$(BUILT_PRODUCTS_DIR)/$(FRAMEWORKS_FOLDER_PATH)/ObjectMapper.framework",
 "$(BUILT_PRODUCTS_DIR)/$(FRAMEWORKS_FOLDER_PATH)/PKHUD.framework",
 "$(BUILT_PRODUCTS_DIR)/$(FRAMEWORKS_FOLDER_PATH)/ReactiveKit.framework",
 "$(BUILT_PRODUCTS_DIR)/$(FRAMEWORKS_FOLDER_PATH)/ReactiveMoya.framework",
 "$(BUILT_PRODUCTS_DIR)/$(FRAMEWORKS_FOLDER_PATH)/ReactiveSwift.framework",
 "$(BUILT_PRODUCTS_DIR)/$(FRAMEWORKS_FOLDER_PATH)/Realm.framework",
 "$(BUILT_PRODUCTS_DIR)/$(FRAMEWORKS_FOLDER_PATH)/RealmSwift.framework",
 "$(BUILT_PRODUCTS_DIR)/$(FRAMEWORKS_FOLDER_PATH)/Result.framework",
 "$(BUILT_PRODUCTS_DIR)/$(FRAMEWORKS_FOLDER_PATH)/RxBlocking.framework",
 "$(BUILT_PRODUCTS_DIR)/$(FRAMEWORKS_FOLDER_PATH)/RxCocoa.framework",
 "$(BUILT_PRODUCTS_DIR)/$(FRAMEWORKS_FOLDER_PATH)/RxMoya.framework",
 "$(BUILT_PRODUCTS_DIR)/$(FRAMEWORKS_FOLDER_PATH)/RxSwift.framework",
 "$(BUILT_PRODUCTS_DIR)/$(FRAMEWORKS_FOLDER_PATH)/SideMenu.framework",
 "$(BUILT_PRODUCTS_DIR)/$(FRAMEWORKS_FOLDER_PATH)/SnapKit.framework",
 "$(BUILT_PRODUCTS_DIR)/$(FRAMEWORKS_FOLDER_PATH)/SwiftyTimer.framework" ]
*/

以上這篇簡陋的swift carthage copy-frameworks 輔助腳本代碼就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 在?Swift?中編寫Git?Hooks腳本的方法

    在?Swift?中編寫Git?Hooks腳本的方法

    在本例中,我使用了?commit-msg?鉤子,它能夠在當前提交信息生效前修改此信息,鉤子由一個參數(shù)調(diào)用,該參數(shù)是指向包含用戶輸入的提交消息的文件的路徑,這意味著,為了改變提交消息,我們只需要從文件中讀取、修改其內(nèi)容,然后寫回調(diào)用掛鉤的文件
    2022-06-06
  • 詳解Swift編程中的for循環(huán)的編寫方法

    詳解Swift編程中的for循環(huán)的編寫方法

    這篇文章主要介紹了Swift編程中的for循環(huán)的編寫方法,包括相關(guān)的for...in循環(huán),需要的朋友可以參考下
    2015-11-11
  • Swift中閉包實戰(zhàn)案例詳解

    Swift中閉包實戰(zhàn)案例詳解

    接觸過Swift的小伙伴對“閉包”應該不陌生,相當于OC中的Block,是Swift語法中比較難理解的一塊。下面這篇文章主要介紹了關(guān)于Swift中閉包實戰(zhàn)的相關(guān)資料,需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-03-03
  • Swift版使用ThPullRefresh實現(xiàn)下拉上拉刷新數(shù)據(jù)

    Swift版使用ThPullRefresh實現(xiàn)下拉上拉刷新數(shù)據(jù)

    這篇文章主要介紹了Swift版使用ThPullRefresh實現(xiàn)下拉上拉刷新數(shù)據(jù),需要的朋友可以參考下
    2016-01-01
  • swift如何利用系統(tǒng)庫將漢字轉(zhuǎn)換為拼音詳解

    swift如何利用系統(tǒng)庫將漢字轉(zhuǎn)換為拼音詳解

    將漢字轉(zhuǎn)換為拼音更利于我們大家開發(fā)搜索功能,所以這篇文章主要給大家介紹了關(guān)于swift如何利用系統(tǒng)庫將漢字轉(zhuǎn)換為拼音的相關(guān)資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-10-10
  • 蘋果公司編程語言Swift語言簡介

    蘋果公司編程語言Swift語言簡介

    這篇文章主要介紹了蘋果公司編程語言Swift語言簡介,Swift 是一門新的編程語言,兼容Objective-C代碼,是用來代替Objective-C的蘋果主力開發(fā)語言,需要的朋友可以參考下
    2014-07-07
  • NotificationCenter類實現(xiàn)原理

    NotificationCenter類實現(xiàn)原理

    這篇文章主要為大家介紹了NotificationCenter類實現(xiàn)原理源碼解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-03-03
  • Swift 3.0基礎(chǔ)學習之類與結(jié)構(gòu)體

    Swift 3.0基礎(chǔ)學習之類與結(jié)構(gòu)體

    最近在學swift 3.0,主要看的是蘋果的官方文檔,這里只是根據(jù)自己看官方文檔的理解所做的一些記錄,不是完整的翻譯,希望也對你有所幫助。下面這篇文章主要介紹了Swift 3.0基礎(chǔ)學習之類與結(jié)構(gòu)體的相關(guān)資料,需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-03-03
  • 如何使用Swift來實現(xiàn)一個命令行工具的方法

    如何使用Swift來實現(xiàn)一個命令行工具的方法

    這篇文章主要介紹了如何使用Swift來實現(xiàn)一個命令行工具,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-05-05
  • Swift HTTP加載請求Loading Requests教程

    Swift HTTP加載請求Loading Requests教程

    這篇文章主要為大家介紹了Swift HTTP加載請求Loading Requests教程示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-02-02

最新評論