IOS效率提升工具
在应用开发过程中,有太多繁杂的事务需要开发者认真去解决。如何才能对开发流程进行改善或自动化,从而提高效率?这成为许多开发者共同探讨的命题。有的开发者会别出心裁地想出熟记他们最喜欢使用的文本编辑器的快捷键,还有的开发者会编写一个简单的脚本文件来自动执行一些简单的任务。除了这些以外,还有什么非常方便快捷的方法呢?让我们一起来看一看吧。
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(代码片段助手)
现在可能许多开发者都在使用像TextExpander、CodeBox这样的文本或代码片段管理器。一直以来,我使用的都是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,另外,Atlassian的SourceTree也是个非常不错而且免费的选择。
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效率提升工具的更多相关文章
- web开发中的 emmet 效率提升工具
web开发中的 emmet 效率提升工具 可以用来快速生成html 代码. 并且给各种IDE.编辑器提供了插件支持,sublime ,webstorm等. 如在webstorm中安装好emmet之后, ...
- 效率提升工具Listary
效率提升工具Listary https://baijiahao.baidu.com/s?id=1590032175308204846&wfr=spider&for=pc
- https://docs.huihoo.com/infoq/qconbeijing/2016/day1/工程效率提升专题/2-2-支持百度万人开发的工具装备及百度工程能力建设-夏仲璞.pdf
https://docs.huihoo.com/infoq/qconbeijing/2016/day1/工程效率提升专题/2-2-支持百度万人开发的工具装备及百度工程能力建设-夏仲璞.pdf http ...
- iOS自动化测试驱动工具探索
本文主要介绍了字节 iOS 自动化测试驱动工具的探索过程及实现原理 作者:字节跳动终端技术--陈友辉 一.背景 随着业务的扩张,单个 App 的功能越来越多,工程复杂度越来越高,每天MR可达上百次,代 ...
- 基于微服务的DevOps落地指南 交付效率提升40%
基于微服务的DevOps落地指南 交付效率提升40% 2015-2016年,珍爱线下门店已新增覆盖城市9个,与此同时,CRM系统大小故障却发生了数十起... ... 珍爱网是以“网络征选+人工红娘”模 ...
- Atitit 开发进度 开发效率提升解决方案
Atitit 开发进度 开发效率提升解决方案 1.1. 使用4gl语言 dsl语言尽可能 1 1.2. Ssd+高屏幕显示器,提升硬件 1 1.3. 汉字命名规范,可以大力提升可读性与效率 1 1. ...
- 干货:用好这13款VSCode插件,工作效率提升10倍
文章每周持续更新,原创不易,「三连」让更多人看到是对我最大的肯定.可以微信搜索公众号「 后端技术学堂 」第一时间阅读(一般比博客早更新一到两篇) 大家好我是lemon, 马上进入我们今天的主题吧. 又 ...
- iOS如何提升,首先得知自己的处境!(欢迎评论留言)
聊聊行情?为什么总有人在乎旁人的看法而忽略自己的初衷?虽然iOS开发市场说不上好但也绝不算坏,想没想过那些煽风点火说iOS不行的人在做什么?真的转行从头开始?错.大错特错!在劝退你的同时他们会默默的学 ...
- jQuery效率提升建议
jQuery简洁通用的方法集把编码者从繁重的工作中解脱出来,也拉低了进入javascript的门槛,初学者对浏览器兼容性一无所知的情况下,几行代码就可以写出超炫的特效.网上有一篇文章转载比较泛滥,已经 ...
随机推荐
- 51nod2000 四边形分割平面 规律题
观察样例,$ans(1) = 1, ans(2) = 10$,再手推一组,$ans(3) = 26$ 可以发现规律$ans(n) = (2n - 1)^2 + 1$ 如果还是没看出规律,那么打个程序去 ...
- 关于iis6.0远程溢出漏洞
漏洞描述 漏洞编号:CVE-2017-7269 发现人员:Zhiniang Peng和Chen Wu(华南理工大学信息安全实验室,计算机科学与工程学院) 漏洞简述:开启WebDAV服务的IIS 6.0 ...
- __declspec(dllexport) 和 __declspec(dllimport)的区别
最近看MXNet的源码,其中c_api.h中发现遇到__declspec(dllexport) 和 __declspec(dllimport). __declspec(dllexport)用于导出符号 ...
- 02-MariaDB主从安装SpringBoot整合MyBatis配置
关于MariaDB的介绍 MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可 MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为My ...
- 解决新版本webpack vue-cli生成文件没有dev.server.js问题
新版本webpack生成的dev.server.js 在webpack.dev.conf.js中 webpack.dev.conf.js const axios = require('axios') ...
- CentOS下的yum upgrade和yum update区别,没事别乱用,和Ubuntu的update不一样!
说明:生产环境对软件版本和内核版本要求非常精确,别没事有事随便的进行yum update操作!!!!!!!!! yum update:升级所有包同时也升级软件和系统内核 yum upgrade:只升级 ...
- Powerdesigner打开工程提示打印错误 解决方法
在使用PowerDesigner打开工程时, 提示打印错误的问题,具体错误信息提示如下: 在您可以执行与打印机有关的任务(例如页面设置或打印一个文档)之前,您必须已经安装打印机.您想现在安装打印机么? ...
- Current-sense monitor and MOSFET boost output current
A previous Design Idea describes a programmable current source that used a three-terminal National S ...
- Windows Embedded Compact 7网络编程概述(上)
如今,不论是嵌入式设备.PDA还是智能手机,网络都是必不可少的模块.网络使人们更方便地共享设备上的信息和资源.而且,利用智能手机浏览互联网,也逐渐成为生活中的常见手段.物联网所倡导的物物相联,也离不开 ...
- 自己定义AlertDialog对话框布局
自己定义对话框中的信息body布局 LayoutInflater inflater =getLayoutInflater(); View layout = inflater.inflate(R.lay ...