-
下面的腳本用于自動(dòng)將工程打包為一個(gè)二進(jìn)制 Framework(用于私有 Framework 的二進(jìn)制打包):
#!/bin/sh carthage build --no-skip-current path=$(dirname $0) path=${path/\./$(pwd)} path=${path##*/} echo $path carthage archive $path
-
一個(gè)簡(jiǎn)單的 Carthage 腳本, 用于自動(dòng)下載和編譯依賴(lài):
#!/bin/sh carthage update --platform iOS --cache-builds --no-use-binaries
-
一個(gè)比較通用的 gitignore 文件:
# Xcode # # gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore ## Build generated build/ DerivedData/ ## Various settings *.pbxuser !default.pbxuser *.mode1v3 !default.mode1v3 *.mode2v3 !default.mode2v3 *.perspectivev3 !default.perspectivev3 xcuserdata/ ## Other *.moved-aside *.xcuserstate ## Obj-C/Swift specific *.hmap *.ipa # CocoaPods # # We recommend against adding the Pods directory to your .gitignore. However # you should judge for yourself, the pros and cons are mentioned at: # https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control # Pods/ #Podfile.lock # Carthage # # Add this line if you want to avoid checking in source code from Carthage dependencies. Carthage/Checkouts Carthage/Build */Carthage/Checkouts */Carthage/Build # fastlane # # It is recommended to not store the screenshots in the git repo. Instead, use fastlane to re-generate the # screenshots whenever they are needed. # For more information about the recommended setup visit: # https://github.com/fastlane/fastlane/blob/master/docs/Gitignore.md fastlane/report.xml fastlane/screenshots .DS_Store *.swp #.gitignore fastlane/README.md fastlane/test_output/report.html fastlane/test_output/report.junit *.framework.zip
-
一個(gè)適用于高度注重可維護(hù)性工程中 swiftlint 配置文件(借鑒若干資料, 并在兩個(gè)生產(chǎn)工程中實(shí)踐, 算法工程的話(huà)建議參考 Raywenderlich 網(wǎng)站的):
disabled_rules: # rule identifiers to exclude from running # - colon # - comma # - control_statement # - for_where # - force_unwrapping opt_in_rules: # some rules are only opt-in - empty_count - missing_docs - closure_end_indentation - closure_spacing # - force_unwrapping #- implicitly_unwrapped_optional - operator_usage_whitespace - redundant_nil_coalescing included: # 包含目錄`--path` is ignored if present. - ./ excluded: # 排除目錄, 這個(gè)是在包含目錄之前進(jìn)行排除的 - Carthage - Pods - Demo force_cast: warning # implicitly force_try: severity: warning # explicitly # 行寬 line_length: 120 # 類(lèi)型體的長(zhǎng)度 type_body_length: - 300 # warning - 400 # error # 方法或函數(shù)體的長(zhǎng)度 function_body_length: 15 # 方法或函數(shù)的參數(shù)個(gè)數(shù)限制 function_parameter_count: 4 # 文件的長(zhǎng)度限制 file_length: warning: 500 error: 600 # 代碼單元結(jié)點(diǎn)分支個(gè)數(shù) cyclomatic_complexity: warning: 5 error: 10 # 類(lèi)型名稱(chēng)的長(zhǎng)度規(guī)定 type_name: min_length: 2 # only warning max_length: # warning and error warning: 40 error: 50 excluded: iPhone # excluded via string # 標(biāo)識(shí)符長(zhǎng)度規(guī)定 identifier_name: min_length: # only min_length error: 2 # only error excluded: # excluded via string array - T reporter: "xcode" # reporter type (xcode, json, csv, checkstyle, junit, html, emoji)
-
在 Xcode 工程中配置 Carthage:
-
新建一個(gè) Run Script, 添加內(nèi)容:
/usr/local/bin/carthage copy-frameworks
另外如果想要在比如 debug 模式下才復(fù)制的話(huà)(比如使用 FLEX 的時(shí)候), 可以這樣:
if [ "$CONFIGURATION" == "Debug" ]; then /usr/local/bin/carthage copy-frameworks fi
-
在其中的 input file 里面添加諸如下面的內(nèi)容:
$(SRCROOT)/Carthage/Build/iOS/Alamofire.framework
-
同時(shí)對(duì)應(yīng)在 output file 中添加如下類(lèi)似如下內(nèi)容:
$(BUILT_PRODUCTS_DIR)/$(FRAMEWORKS_FOLDER_PATH)/Alamofire.framework
-
-
配置 Swiftlint 的簡(jiǎn)單流程:
首先將需要的
.swiftlint.yml
配置文件寫(xiě)好, 放到想要進(jìn)行語(yǔ)法檢查的目錄或根目錄.-
新建一個(gè) Run Script, 添加內(nèi)容:
swiftlint swiftlint autocorrect
-
如果要打開(kāi)或關(guān)閉某個(gè)語(yǔ)法檢查功能:
// swiftlint:disable function_body_length // swiftlint:enable function_body_length
<iOS 工具>一些常用的工具性腳本和配置
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
- 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人,你說(shuō)我怎么就攤上這事?!?“怎么了?”我有些...
- 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我,道長(zhǎng),這世上最難降的妖魔是什么? 我笑而不...
- 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
- 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
- 那天,我揣著相機(jī)與錄音,去河邊找鬼。 笑死,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
- 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起,我...
- 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
- 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
- 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
- 正文 年R本政府宣布,位于F島的核電站,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
- 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
- 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
- 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...