工欲善其事必先利其器,合理的利用工具,提高開發效率,不單單幫助咱們節省時間,關鍵是能幫咱們從一些重複、低效的工做中抽離出來,專一於有挑戰,有深度的問題,不斷提高本身。這裏總結一些我在平常開發中提高開發效率的一些技巧,若是您有更好的提高效率的方法也請不吝賜教。ios
Xcode爲咱們提供了一些代碼片斷,可是不夠全面,不過Xcode支持咱們本身添加代碼片斷,經過添加經常使用的代碼片斷,能夠極大的節省開發效率。
騰訊的QMUI團隊開源了一份他們總結的代碼片斷庫_qmui-ios-codesnippets,_集成他們的代碼片斷庫就能知足平常的開發需求,提高coding的效率。git
自定義xopen快捷腳本,在終端中快速打開項目
github
詳細步驟:shell
#!/usr/bin/env ruby
require 'shellwords'
proj = Dir['*.xcworkspace'].first
proj = Dir['*.xcodeproj'].first unless proj
if proj
puts "Opening #{proj}"
`open #{proj}`
else
puts "No xcworkspace|xcproj file found"
end
複製代碼
xopen
文件移入 /usr/local/bin
目錄下 並執行chmod 777添加讀寫權限fastlane是一套ruby編寫的持續集成工具集。經過fastlane能夠實現自動打包、發佈等工做。
原先我都是利用Xcode提供的 xcodebuild
命令自定義了一個 xpublish
腳原本進行打包,詳細的配置過程能夠參考:iOS--兩套自動打包腳本,不過當我發現有 fastlane
這個神器後果斷放棄了原來使用的腳本,主要緣由固然仍是 fastlane
更加全面和強大。 fastlane
的集成過程比較簡單,網上有不少資料,能夠參考小團隊的自動化發佈--Fastlane帶來的全自動化發佈。
由於咱們項目已經使用Jenkins進行持續集成,平常使用 fastlane
並很少,主要會在偶爾打單獨的測試包或審覈包時纔會使用,這裏簡單總結一下個人fastlane配置。api
default_platform(:ios)
platform :ios do
desc "send ipa to pgyer"
lane :pgyer do
# 執行pod install 須要在Gemfile裏配置cocoapods
cocoapods(
clean: true,
podfile: "./Podfile"
)
# 打包項目
build_app(workspace: "****.xcworkspace", scheme: "****", export_method: "ad-hoc", output_directory: "./fastlane/package", configuration: "Release")
# 上傳蒲公英 須要先安裝蒲公英插件
pgyer(api_key: "********", user_key: "**********")
# 上傳完成後 發送消息通知 避免忘記
notification(subtitle: "Finished Uploading", message: "upload success")
end
end
複製代碼
有幾點說明:xcode
# 配置cocoapods,並指定版本
gem 'cocoapods', '1.7.1'
複製代碼
fastlane add_plugin pgyer
ruby
安裝完後的Gemfile:app
source "https://rubygems.org"
gem "fastlane"
# 配置cocoapods,並指定版本
gem 'cocoapods', '1.7.1'
plugins_path = File.join(File.dirname(__FILE__), 'fastlane', 'Pluginfile')
eval_gemfile(plugins_path) if File.exist?(plugins_path)
複製代碼
更多關於 fastlane
的功能能夠查看官方文檔中的Actions。less
Jenkins是一款開源的CI工具,利用Jenkins能夠經過規範化的操做流程避免一些低級錯誤,將開發人員從簡單、繁瑣的工做中釋放出來。關於Jenkins的配置教程網上也是有不少,Jenkins 持續集成使用教程就比較詳細。工具