程序员就像工匠,若想高效地编写出漂亮、优质的代码,就得要有一把好“锤子”——好的开发工具。就像老罗提出匠心与情怀,程序员对于手中的工具也是饱含工匠情怀的。
工欲善其事,必先利其器。工具永远都是用来解决问题的,没必要为了工具而工具,一切工具都是为了能快速准确地完成工作和学习任务而服务。
作为iOS开发者,本文就如何搭建令人愉悦且高效的开发环境谈谈自己平时工作中所用到的一些方法及工具。
Xcode下载
Xcode是运行在操作系统Mac OS X上的集成开发工具(IDE),由苹果公司开发。Xcode是开发OS X 和 iOS 应用程序的最快捷的方式。Xcode 具有统一的用户界面设计,编码、测试、调试都在一个简单的窗口内完成。
不管你用C、C++、Objective-C或Java编写程序,在AppleScript里编写脚本,还是试图从另一个奇妙的工具中转移编码,你会发现 Xcode 编译速度极快,每次操作都很快速和轻松。
去年发生的XcodeGhost事件,让我再也不敢在非官方渠道下载Xcode,App Store下载的Xcode在安装完成之后,系统会自动将下载文件删除,这样的话,如果Xcode更新,公司有多人开发的情况下,需要每个电脑都从App Store下载,随着Xcode的不断更新,安装包也越来越大,最新版本的安装包高达5G。
有没有一个可以保证Xcode是从苹果官方下载,并且保留安装包的办法呢?
● 方法一(.pkg 安装包):直接从Mac自带App Store中下载
▲
点击安装Xcode,可以看到总大小为4.87G
▲
此时打开系统自带活动监视器,选择网络一栏,点击已接收包,找到storedownloadd进程并选中该进程,点击设置按钮查看进程详情,点击打开的文件和端口,在下面的路径中找到后缀带有.pkg 的路径,复制该路径。复制上图5中的路径,打开finder-前往-前往文件夹,输入刚刚复制的路径回车。
▲
在该路径下可以看到一个.pkg 安装包,这个安装包就是我们所需要的 Xcode 安装包,当 Xcode 从 App Store 下载完成后,进行安装的时候大概有6-8分钟的时间,我们可以将该安装包拷贝储存起来,必须在 Xcode 安装完成前进行拷贝,否则 Xcode 安装完成后,系统会自动将该安装包删除。
● 方法二(.dmg 安装包):苹果开发者官方网站下载
地址:https://developer.apple.com/downloads/
▲
该处显示安装包大小共4.8G,但是下载下来却有将近5.3G,至于为何会多出500M,未曾研究过,不过两者使用无差别。
(1)神兵利器-Alfred
用过Alfred的朋友都知道,这是一款键盘流软件,是一款生产力软件,它能够让你的学习、生活、工作等更加高效,如果你没有用过Alfred,那么我建议你一定要使用这款软件!
Alfred最精髓的是它的Workflow(工作流),使用它可以使你的工作更加轻松。
应用场景:
iOS开发过程中,需要经常用到搜索功能,对程序运行过程中出现的各式各样崩溃信息进行搜索解决,个人经常访问国外的Stack Overflow网站,Stack Overflow是一个与程序相关的IT技术问答网站,用户可以在网站免费提交问题,浏览问题,索引相关内容。
例如搜索 iOS animation:
正常操作路程:打开浏览器-打开Stack Overflow网站-输入需要搜索的内容关键字iOS animation-点击搜索
利用Alfred操作流程:option + space调出Alfred,输入st iOS animation即可搜索。
▲利用Alfred
Alfred还有许多强大的地方:
▲百度:疫苗
▲搜索天气:tq 武汉
▲搜索 pm2.5: pm2.5 武汉
▲豆瓣搜索电影: movie 007
▲有道翻译:yd 人才孵化
参考文章:
MAC技术组】键盘流——Alfred全攻略
http://bbs.feng.com/read-htm-tid-6398178.html
神兵利器——Alfred
http://www.cnblogs.com/chijianqiang/p/alfred.html
国人必备的30个Alfred Workflow
http://www.waerfa.com/alfred-workflow
OS X 效率启动器 Alfred 详解与使用技巧
(2)效率插件-PopClip
PopClip 是一款在 Mac 上人尽皆知的小工具,它简单高效,具有强大的拓展功能。PopClip 最基本的功能即用鼠标选中一段文字就可以做复制粘贴的动作,省去了我们平时 Command+C or V 的麻烦,但这个工具真正强大之处在于它的拓展功能 PopClip Extensions 的使用。
▲PopClip
参考文章:
没那么简单:PopClip for Mac
http://www.baidu.com/baidu?word=%09没那么简单:PopClip+for+Mac&ie=utf-8&tn=98012088_2_dg&ch=3
让剪切板在 OS X 上飞起来:PopClip 插件编写教程
(3)终端工具-iTerm2+zsh
可以根据自己的喜好,更改系统自带终端的颜色、背景等,更有多种自定义功能,功能非常强大。
▲iTerm2+zsh
参考文章:
Mac必备软件渐集之ZSH-终极Shell
http://www.jeffjade.com/2015/07/29/2015-07-29-mac-musthave-software/
增强你的bash,提高命令效率之终极利器oh-my-zsh
http://www.ixirong.com/2015/04/27/strong-bash-use-oh-my-zsh/
你应该知道的 iTerm2 使用方法--MAC终端工具
http://wulfric.me/2015/08/iterm2/
(4)网络请求工具-Postman
有了Postman,你可以构造简单的以及复杂的请求,保存以备以后使用,并分析由API发送的响应。Postman可以显著减少测试和开发的API所需的时间。Postman适合个人开发者,小型团队或大型机构同样适用。
▲Postman
参考文章:
Postman-简单使用
http://www.cnblogs.com/s380774061/p/4624326.html
API自动化测试利器——Postman
http://www.bayescafe.com/tools/use-postman-to-test-api-automatically.html
PostMan:帮助你实现快速高效的Http模拟和API调试
http://www.codesec.net/view/195201.html
(5)网络抓包工具-Charles(青花瓷)
Charles是一个HTTP代理服务器,HTTP监视器,反转代理服务器,它允许一个开发者查看所有连接互联网的HTTP通信。这些包括request、response和HTTP headers(包含cookies与caching信息)。
▲Charles
参考文章:
charles使用教程指南
http://www.2cto.com/Article/201406/310928.html
Mac上的抓包工具Charles
http://blog.csdn.net/jiangwei0910410003/article/details/41620363/
iOS开发工具——网络封包分析工具Charles
http://www.infoq.com/cn/articles/network-packet-analysis-tool-charles/
(6)接口文档管理工具-RAP
RAP是一个可视化接口管理工具 通过分析接口结构,动态生成模拟数据,校验真实接口正确性, 围绕接口定义,通过一系列自动化工具提升我们的协作效率。
▲RAP
参考文章:
如何部署RAP服务器
https://github.com/thx/RAP/wiki/deploy_manual_cn
如何使用RAP编辑文档
https://github.com/thx/RAP/wiki/user_manual_cn
(7)思维导图-MindNode Pro
思维导图,想写点什么的时候,以前是打开文本编辑就开始写,现在是用它梳理好整个框架,把重点要说的列出来,这个过程一般会比较长,但经过这样整理之后,用键盘敲东西的时候就容易得多了。
▲MindNode Pro
参考文章:
精美好用的思维导图 MindNode Pro:思绪飞腾,不能自止
http://www.ifanr.com/481153?utm_source=rss&utm_medium=rss&utm_campaign=
mac思维导图软件 MindNode Pro 使用说明(用户手册)
http://blog.sina.com.cn/s/blog_5d8f43c30102vm3s.html
(8)Markdown 编辑器
常用Markdown编辑器有以下几款,可根据自己需求选择使用。
▲Mou
▲typora—本文是利用typora编写完成
▲Cmd Markdown
▲马克飞象
参考文章:
认识与入门 Markdown
献给写作者的 Markdown 新手指南
http://www.jianshu.com/p/q81RER
(9)iCloud
优点:
◎ 支持同步的范围很广,除了苹果内置的应用外,App Store 购买下载的 App 只要与数据相关,并内置 iCloud 服务,就能给予用户很好的体验;
◎ 照片流非常方便,完全实现了拍摄设备与同账号下的 iOS 设备和 Mac 之间的无线传输,且支持照片相册的私密分享(这功能非常好用,把想分享的对象账号先添加到 list中,选好要分享的图片,就自动推送到这些用户的设备中了);
◎ iOS 设备还可以通过 iCloud 备份整机数据到云端,回复设备后能快速恢复;
◎ 数据加密方式安全。
缺点:
◎ 除了照片流,分享功能很弱;
◎ 在 iOS 端非文本类数据难以导出。
(10)Dropbox
优点:
◎ 安全系数极高,并支持30天内所有存在过的数据恢复找回(但是如果是同名的覆盖式的删除只能恢复到最后一次删除的那个文件);
◎ 应用的支持平台相当广,几乎涵盖了所有主流与非主流的系统平台,所以小文档内的分享同步借助它十分可靠;
◎ 同步的即时性远快于 iCloud;
◎ 注册后虽然免费的容量就2G,但可以通过邀请链,每邀请一人/500MB 的方式,最大可免费扩到18G;
◎ 支持快速生成 URL 链接进行公开分享。
缺点:
◎ 大文件的同步速度慢,因为服务器在国外,又因为 GFW 的存在,导致了国内用户如果用它储存大型文件的话,体验确实不佳。
(11)百度云
国内的网盘,速度快,容量大,离线下载很好用,同步的速度基本都能满带宽,是我现在使用频率最高的云同步工具。
(12)欧陆词典
Mac自带的字典其实已经很方便了,三指轻按在阅读英文文档时非常方便,但不能满足查单词的需求。而Mac上的词典确实比较少,也就这款用的比较顺手。
(1)Alcatraz
Alcatraz是一个开源的Xcode 4包管理器,可以让你更便捷地发现、安装以及管理插件、模板和配色方案。只需要简单地点击或者勾选,不需要手工复制和粘贴。
(2)FuzzyAutocomplete
如果只让我选一个插件留下,那必须是FuzzyAutocomplete 强大的模糊匹配输入。让你写代码的时候再也不用费脑子去记住名字那么长的对象或者函数名了,好用到让你想哭。
(3)XAlign
作为有洁癖的码农,看到不对齐的代码一定是不能忍的,XAlign可以轻松解决你的烦恼。
(4)VVDocumenter-Xcode
喵大的又一力作,能够识别当前函数的参数和返回类型,帮助你快速编写符合规范的注释(目前是以Javadoc为标准)。
(5)Injection for Xcode
可以让你修改一个类的代码实现而不用重启整个应用。
(1)UI 调试神器-Reveal
Reveal一个界面调试工具。使用Reveal,我们可以在iOS开发时动态地查看和修改应用程序的界面。它类似Chrome的“审查元素”功能,我们不但可以在运行时看到iOS程序的界面层级关系,还可以实时地修改程序界面,不用重新运行程序就可以看到修改之后的效果 。
▲Reveal
参考文章:
Reveal UI 分析工具简单使用
http://www.cocoachina.com/ios/20150818/12991.html
Reveal:分析iOS UI的利器
http://blog.csdn.net/yongyinmg/article/details/39293015
(2)LLDB调试
LLDB 是 Xcode 默认的调试器,它与 LLVM 编译器一起,带给我们更丰富的路程控制和数据检测的调试功能。平时用 Xcode 运行程序,实际走的都是 LLDB。熟练使用 LLDB,可以让你 debug 事半功倍。
参考文章:
小笨狼与 LLDB 的故事
http://www.jianshu.com/p/e89af3e9a8d7
久违的的LLDB篇一,让lldb提升你的效率
http://www.jianshu.com/p/f888db82fc27
(3)Code Snippets(代码片段助手)
在Xcode中,每个代码段都有一连串额外的属性,正是这些属性,让代码更强大、灵活。每段代码都有一个平台、语言和完成范围的属性,代码片段的完成范围对Xcode编辑器有着很大作用。因此,在Xcode中进行iOS应用开发,可以将那些经常使用的、具有相似性的代码包装起来,放在代码块内,需要的时候直接调用代码块即可。
先举个例子,我们在开发的过程中,输入if,选择ifelse后回车,就会出现下面的代码:
这个其实就是系统给我们定义好的代码片段,这个可以快速完成我们想要的代码片段,从而大大提升了我们的编程效率。
其实我们自己也可以将常用的代码片段整理出来,实现这个效果的。步骤如下:
拖到右侧区域后弹出如下提示,再编辑:
上面的Completion Shortcut处输入的值就相当于是快捷键了,以后输入该值就会出现上面封装的代码片段了。
注意:一定要使用<#想要给的参数名提示#>,不然就是一个写死的值了。
(4)苹果官方文档
即使是对于具备多年应用开发经验的开发者而言,文档也不是一个简单的事儿。如果你想快速访问Xcode的文档浏览器,不妨采取以下方法:按住Option键,单击Xcode编码器中的一个函数,会跳出关于它的概述,如果想要阅读更多或打开文档浏览器,可以点击弹出窗口中的其中一个链接。
除了这个方法之外,你还可以通过打开Xcode右侧栏,再打开Quick Help Inspector Tab,也能达到相同的目的。
Xcode的文档浏览器很强大,但速度太慢,所以很多时候,我都会使用到Dash,它是一个专门用于文档和代码段的管理器,不仅速度非常快,而且还支持80多种语言、库、框架和API。
(5)善用快捷键
快捷键是开发中必不可少的,当你善于使用快捷键的时候,十指在键盘上飞舞,那画面太美,我不敢想象。
参考文章:
14个Xcode中常用的快捷键操作
(6)Git(分布式版本控制系统)
Git是一个开源的分布式版本控制系统,用来有效、高速地处理从很小到非常大的项目版本管理。对于源代码管理这个概念比较陌生的编程初学者,我强烈建议多花点时间来学习Git的基础知识。Git是一个开源的分布式版本控制和源代码管理系统。简单来说就是,Git能够帮助你快捷高效地管理源代码。如果将Git搭配GitHub或BitBucket一起使用,那么你就有点专业程序员的样子了。
常用 Git 图形化客户端:
◎ SourceTree
◎ GUI Clients
◎ GitX-dev
◎ Github 官方客户端
参考文章:
如何高效的使用github
http://www.ixirong.com/2015/06/07/git-and-github-repo/
(7)Pixel Winch(精确 UI 测距)
不行!说的是20px!差1px,2px,5px,10px,都不算20px!
遇到有像素眼的设计师,想哭的心情总是有。但是他们可能有时候会忘记标X、Y,或者就是宽高,用下图来举例不合适,但是大体意思是说可能会忘记标注:
魂淡,说好的X、Y呢?然后我最开始是这样做的:
可是总会有辣么一点误差,而且费眼......后来我偶然听一个产品朋友说他们在用马克鳗标图,它有免费和收费2个版本,免费版本可以使用基本功能,感觉还不错。
今天喵神onevcat在微博发了一个测量的工具:Pixel Winch ,试了一下,比马克鳗好使。另外就是可以设置一下 Show screenshots 的快捷键,那感觉飞起来一般:
作者简介:柏道坤,英文名Popo,校导网iOS开发工程师,拥有一年半iOS开发经验。
ID:xdwfamily
校导网最新资讯最先掌握