iOS高效開發

工欲善其事必先利其器,合理的利用工具,提高開發效率,不單單幫助咱們節省時間,關鍵是能幫咱們從一些重複、低效的工做中抽離出來,專一於有挑戰,有深度的問題,不斷提高本身。這裏總結一些我在平常開發中提高開發效率的一些技巧,若是您有更好的提高效率的方法也請不吝賜教。ios

代碼片斷

Xcode爲咱們提供了一些代碼片斷,可是不夠全面,不過Xcode支持咱們本身添加代碼片斷,經過添加經常使用的代碼片斷,能夠極大的節省開發效率。
騰訊的QMUI團隊開源了一份他們總結的代碼片斷庫_qmui-ios-codesnippets,_集成他們的代碼片斷庫就能知足平常的開發需求,提高coding的效率。git

xopen快捷腳本

自定義xopen快捷腳本,在終端中快速打開項目
github

詳細步驟:shell

  1. 建立一個xopen文件 文件內容以下:
#!/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
複製代碼
  1. 將 xopen 文件移入 /usr/local/bin 目錄下 並執行chmod 777添加讀寫權限

fastlane

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

  1. 支持cocoapods須要在Gemfile裏配置一下
# 配置cocoapods,並指定版本
gem 'cocoapods', '1.7.1'
複製代碼
  1. 蒲公英的插件安裝命令

fastlane add_plugin pgyerruby

安裝完後的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 的功能能夠查看官方文檔中的Actionsless

Jenkins

Jenkins是一款開源的CI工具,利用Jenkins能夠經過規範化的操做流程避免一些低級錯誤,將開發人員從簡單、繁瑣的工做中釋放出來。關於Jenkins的配置教程網上也是有不少,Jenkins 持續集成使用教程就比較詳細。工具

相關文章
相關標籤/搜索