在应用开发过程中,有太多繁杂的事务需要开发者认真去解决。如何才能对开发流程进行改善或自动化,从而提高效率?这成为许多开发者共同探讨的命题。有的开发者会别出心裁地想出熟记他们最喜欢使用的文本编辑器的快捷键,还有的开发者会编写一个简单的脚本文件来自动执行一些简单的任务。除了这些以外,还有什么非常方便快捷的方法呢?让我们一起来看一看吧。

1. 快捷键

事实上,几乎每一个Xcode命令都有一个对应的快捷键,这些快捷键既可以默认,也可以开发者自己设置。磨刀不误砍柴工,多花点时间来熟记每一个快捷键能够让你事半功倍,极大地提高你的工作效率。如果你和我一样,写代码的时候特别喜欢键盘操作,那么这种方式一定会对你大有裨益。

如果你不喜欢默认的快捷键,那么,你可以在Key Bindings下的参数选择窗口中对Xcode的默认快捷键进行自定义设置。

当然,快捷键命令实在是太多,要想一项一项浏览,找出几个重要的实属不易。所以我建议开发者们可以看看Stack Overflow上给出的Xcode的隐藏功能这一问题,在回答中,包括许多Xcode非常重要的快捷键,以及其他一些非常灵活的技巧。

2. Objective-C第三方库管理利器——Cocoapods

在应用开发过程中,第三方库肯定是必不可少的。而由Eloy Durán发起的Cocoapods项目可谓是Objective-C第三方库的管理利器,不仅能提高开发效率,还可以帮助开发者管理Xcode中的第三方库,非常方便。那么,Cocoapods究竟是什么呢?简单来说,它就是一个用于管理Xcode依赖库的工具(iOS、Mac通用)。

由于Cocoapods非常受开发者欢迎,所以很多第三方库都会对Cocoapods提供支持。尽管Cocoapods是一个Ruby Gem,但即使你对Ruby并不是太了解,也可以非常方便地使用它。

3. Code Snippets(代码片段助手)

现在可能许多开发者都在使用像TextExpanderCodeBox这样的文本或代码片段管理器。一直以来,我使用的都是TextExpander,它的确节省了我大量的时间。不过,Xcode也有一个代码片段助手,就在Xcode右侧栏那里,紧挨着Object Library。

在Xcode中,每个代码段都有一连串额外的属性,正是这些属性,让代码更强大、灵活。每段代码都有一个平台、语言和完成范围的属性,代码片段的完成范围对Xcode编辑器有着很大作用。因此,在Xcode中进行iOS应用开发,最好还是使用Xcode自带的代码片段助手。

4. 学习Git

对于还对源代码管理这个概念比较陌生的编程初学者,我强烈建议多花点时间来学习Git的基础知识。Git是一个开源的分布式版本控制和源代码管理系统。简单来说就是,Git能够帮助你快捷高效地管理源代码。如果将Git搭配GitHub或BitBucket一起使用,那么你就有点专业程序员的样子了。

如果你已经掌握了Git的基本知识,那么,建议在你的Xcode项目中,建立一个.gitignore文件。虽然Git更多的是通过命令行使用,但也有许多GUI的客户端应用。我最喜欢的是Fournova开发的Tower,另外,AtlassianSourceTree也是个非常不错而且免费的选择。

5. Xcode Behaviors

Xcode是一个非常强大并且不断完善的编辑器,在Xcode中,我最常用的一个功能就是Behaviors。通过定义行为,你可以告诉Xcode当某项特定的事件发生时它应该做什么。

一切的行为都可以在Xcode的Preferences窗口中进行配置。在输出时,如果你不想Xcode显示控制,你可以在Behaviors面板上禁止该行为。在测试反复失败时,你想要Xcode显示Issues Navigator,都可以通过Xcode Behaviors进行设定。Xcode会预先设置Build、Testing和Running等一些常用行为。当然,你也可以自定义行为或进行快捷键设置。

6. Tabs & Windows

我非常喜欢Xcode 4统一的外观和Interface Builder的一体化。不过,有时候也需要多窗口同步操作,比如同时运行控制台和编辑器,或使用多重显示器。在Xcode 4中,仍然可以实现多窗口同时运行。你可以使用快捷键Shift+Cmd+T或点击菜单File>New>Window创建一个新窗口。

比窗口更有效果的是标签(Tabs)。现在几乎每一个代码编辑器都有标签,Xcode当然也不例外。基本上开发者或多或少都会用到标签,但却很少有人知道Xcode的标签是可以命名的,甚至还可以将已命名的标签与Xcode行为相绑定,这在对程序进行调试的时候会非常有用。

7. 文档

即使是对于具备多年应用开发经验的开发者而言,文档也不是一个简单的事儿。如果你想快速访问Xcode的文档浏览器,不妨采取以下方法:按住Option键,单击Xcode编码器中的一个函数,会跳出关于它的概述,如果想要阅读更多或打开文档浏览器,可以点击弹出窗口中的其中一个链接。

除了这个方法之外,你还可以通过打开Xcode右侧栏,再打开Quick Help Inspector Tab,也能达到相同的目的。

Xcode的文档浏览器很强大,但速度太慢,所以很多时候,我都会使用到Dash,它是一个专门用于文档和代码段的管理器,不仅速度非常快,而且还支持80多种语言、库、框架和API。

图:Dash

自csdn中

IOS效率提升工具的更多相关文章

  1. web开发中的 emmet 效率提升工具

    web开发中的 emmet 效率提升工具 可以用来快速生成html 代码. 并且给各种IDE.编辑器提供了插件支持,sublime ,webstorm等. 如在webstorm中安装好emmet之后, ...

  2. 效率提升工具Listary

    效率提升工具Listary https://baijiahao.baidu.com/s?id=1590032175308204846&wfr=spider&for=pc

  3. https://docs.huihoo.com/infoq/qconbeijing/2016/day1/工程效率提升专题/2-2-支持百度万人开发的工具装备及百度工程能力建设-夏仲璞.pdf

    https://docs.huihoo.com/infoq/qconbeijing/2016/day1/工程效率提升专题/2-2-支持百度万人开发的工具装备及百度工程能力建设-夏仲璞.pdf http ...

  4. iOS自动化测试驱动工具探索

    本文主要介绍了字节 iOS 自动化测试驱动工具的探索过程及实现原理 作者:字节跳动终端技术--陈友辉 一.背景 随着业务的扩张,单个 App 的功能越来越多,工程复杂度越来越高,每天MR可达上百次,代 ...

  5. 基于微服务的DevOps落地指南 交付效率提升40%

    基于微服务的DevOps落地指南 交付效率提升40% 2015-2016年,珍爱线下门店已新增覆盖城市9个,与此同时,CRM系统大小故障却发生了数十起... ... 珍爱网是以“网络征选+人工红娘”模 ...

  6. Atitit 开发进度 开发效率提升解决方案

    Atitit 开发进度  开发效率提升解决方案 1.1. 使用4gl语言 dsl语言尽可能 1 1.2. Ssd+高屏幕显示器,提升硬件 1 1.3. 汉字命名规范,可以大力提升可读性与效率 1 1. ...

  7. 干货:用好这13款VSCode插件,工作效率提升10倍

    文章每周持续更新,原创不易,「三连」让更多人看到是对我最大的肯定.可以微信搜索公众号「 后端技术学堂 」第一时间阅读(一般比博客早更新一到两篇) 大家好我是lemon, 马上进入我们今天的主题吧. 又 ...

  8. iOS如何提升,首先得知自己的处境!(欢迎评论留言)

    聊聊行情?为什么总有人在乎旁人的看法而忽略自己的初衷?虽然iOS开发市场说不上好但也绝不算坏,想没想过那些煽风点火说iOS不行的人在做什么?真的转行从头开始?错.大错特错!在劝退你的同时他们会默默的学 ...

  9. jQuery效率提升建议

    jQuery简洁通用的方法集把编码者从繁重的工作中解脱出来,也拉低了进入javascript的门槛,初学者对浏览器兼容性一无所知的情况下,几行代码就可以写出超炫的特效.网上有一篇文章转载比较泛滥,已经 ...

随机推荐

  1. Hibernate fetching strategies(抓取策略)

    抓取策略(fetching strategies)是指:当应用程序需要在(Hibernate实体对象图的)关联关系间进行导航的时候,Hibernate如何获取关联对象的策略.抓取策略可以在O/R映射的 ...

  2. Linux安装apache服务

    1.通过yum包下载安装httpd yum -y install httpd*(等待安装) 到下面就安装完毕 2.启动apache服务 service httpd restart 3.现在就可以查看a ...

  3. js使用s:property标签接收json格式数据

    js使用s:property接收json数据时,会出现字符被转译的错误. 错误如下: 引号会被转译成'"'字符,导致解析不了. 错误原因: html的s:property接收不会出错,而js ...

  4. [BZOJ4868][六省联考2017]期末考试(三分)

    4868: [Shoi2017]期末考试 Time Limit: 20 Sec  Memory Limit: 512 MBSubmit: 964  Solved: 439[Submit][Status ...

  5. [CF126D]Fibonacci Sums/[BJOI2012]最多的方案

    [CF126D]Fibonacci Sums/[BJOI2012]最多的方案 题目大意: 将\(n(n\le10^9)\)表示成若干个不同斐波那契数之和的形式,求方案数. 思路: 如果不考虑\(0\) ...

  6. zoj 3329 概率dp

    题意:有三个骰子,分别有k1,k2,k3个面.每个面值为1--kn每次掷骰子,如果三个面分别为a,b,c则分数置0,否则加上三个骰子的分数之和.当分数大于n时结束.求游戏的期望步数.初始分数为0 链接 ...

  7. Java基础学习——多线程之创建任务

    这次来盘点一下Java中用线程执行任务的写法. 1.扩展Thread 最基本的实现方法是在创建一个继承Thread的新类,在其中覆盖run()方法执行任务. public class MyThread ...

  8. bzoj 1211: [HNOI2004]树的计数 -- purfer序列

    1211: [HNOI2004]树的计数 Time Limit: 10 Sec  Memory Limit: 162 MB Description 一个有n个结点的树,设它的结点分别为v1, v2, ...

  9. js 运算符 || && 妙用

    首先出个题:如图: 假设对成长速度显示规定如下:  成长速度为5显示1个箭头:  成长速度为10显示2个箭头:  成长速度为12显示3个箭头:  成长速度为15显示4个箭头:  其他都显示都显示0个箭 ...

  10. [转]用 Jsp 的 Session 机制编写的购物车程序

    一.构建的商品类 //写一个Goods类,并定义商品的各个属性,返回商品属性的方法,以及商品对象进行比较的方法//Goods.java package com.viita.Shop; public c ...