国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Swift > 正文

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

2020-03-09 17:42:36
字體:
來源:轉載
供稿:網友

在看 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武林網。


注:相關教程知識閱讀請移步到swift教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 淮安市| 灯塔市| 澄迈县| 古田县| 万全县| 铜山县| 乃东县| 建始县| 原阳县| 双柏县| 浮梁县| 望城县| 松溪县| 德令哈市| 高邮市| 自贡市| 三门峡市| 伊通| 铜鼓县| 金平| 洛隆县| 无锡市| 卢氏县| 中超| 日土县| 博客| 德格县| 三门县| 韩城市| 郓城县| 昆明市| 绥化市| 靖边县| 内丘县| 昌宁县| 泾源县| 广灵县| 拉萨市| 甘泉县| 武强县| 高清|