麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > Swift > 正文

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

2020-03-09 17:42:36
字體:
來源:轉載
供稿:網(wǎng)友

在看 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 optionallet 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 輔助腳本代碼就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持VEVB武林網(wǎng)。


注:相關教程知識閱讀請移步到swift教程頻道。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 久久草在线看 | 日韩色视频 | 夜夜夜精品视频 | 精品中文字幕在线播放 | 亚洲精品午夜在线 | 黄色欧美精品 | 91看片在线播放 | 成人不卡一区二区 | 蜜桃视频网站www | 欧洲狠狠鲁 | 羞羞的网站 | 99精品国产一区二区三区 | 国产成人精品一区二区视频免费 | 色综合精品 | 色婷婷a| 91精品国产乱码久 | 国产毛片aaa一区二区三区视频 | 国产亚洲综合一区二区 | 一级大黄毛片免费观看 | 欧美巨根| 欧美aⅴ视频 | 91精品国产日韩91久久久久久360 | 369看片你懂的小视频在线观看 | 国产在线欧美日韩 | 欧美高清第一页 | 五月婷婷第四色 | 亚州成人在线观看 | 日韩精品久久久久久久电影99爱 | 色综合久久久久久久久久久 | 吾色视频 | 黄色av网站免费 | 毛片中文字幕 | 国产免费一级 | 久久精品亚洲一区二区 | 精品国产九九九 | 色妞视频男女视频 | 国产精品美女久久久久久不卡 | 国产亚洲综合一区二区 | 叶子楣成人爽a毛片免费啪啪 | 亚洲网站在线观看视频 | 国产美女三级做爰 |