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 持续集成使用教程就比较详细。工具

相关文章
相关标签/搜索