提高iOS开发效率的方法和工具

介绍

这篇文章主要是介绍一下我在iOS开发中使用到的一些可以提升开发效率的方法和工具。

IDE

首先要说的肯定是IDE了,说到IDE,Xcode不能跑,当然你也可能同时在使用AppCode等其他的IDE,在这里我主要介绍Xcode中提升开发效率的方法。

1.善用快捷键

快捷键是开发中必不可少的,当你善于使用快捷键的时候,十指在键盘上飞舞,那画面太美,我不敢想象。

2.常用代码片段

开发中有一些常用的代码,可以放到代码片段中,然后下次你就可以使用快捷方法来使用这些代码了,给大家看下我的Xcode中部分代码片段:

3.Xcode插件

我想插件是Xcode必不可少的把

除此之外,我自己还经常用到的插件有:

1.快速Add #import

2.查看项目的’TODO’,’FIXME’等

在此强烈推荐给大家。

你可能想,如果没有我要用的插件怎么办?少年,这个时候就要自己动手丰衣足食了,我想你可以看看这个Xcode6插件开发入门

4.注释

注释的作用就不多说了,而且现在公司都要求代码必须有注释。

之前一直在用 喵神onevcat 开源的 VVDocumenter-Xcode.

但是后来觉得这种注释会有这样一个问题:一个注释多三行

1
2
3
4
/**
*  顶部公告btn
*/
@property (nonatomic, strong) UIButton *topAnnouncementBtn;

接口用这种方法会简单明了,但是属性的话,总感觉.h文件好多东西(其实没几个属性啊??????)

后来换成这样:

1
2
/**顶部公告btn */
@property (nonatomic, strong) UIButton *topAnnouncementBtn;

还是多一行,再后来换成这样:

1
@property (nonatomic, strong) UIButton *topAnnouncementBtn; // 顶部公告btn

但是这种方式,在你使用这个属性的时候,是不会有注释提示的。没有就没有把,遇见不明大意的属性,到时候再跳到.h 文件 看一眼。(“呸,你怎么这么容易就妥协了!!!”,我当时应该在心里暗暗骂自己的)

之后某天在微博上看到 芳仔小脚印 的博客 我是如何收拾代码的 中介绍她是这样注释属性的:

1
UIButton *btnSend;/**< 发送按钮 */

试用了一下,很方便。之后一直用这种方法做属性注释,在这里分享给大家。

感谢 芳仔小脚印 的分享。

网络数据相关

1.调试接口

少年,你还在写方法调试接口吗?如果是,那你一定需要下面这2个了哈:

DHC 在线调试接口,支持HTTP和HTTPS呦。

Postman 一款功能强大的网页调试与发送网页HTTP请求的Chrome插件。(感谢叶孤城___提醒)

2.JSON数据编辑

废话不多说,直接上图:

JSON格式化工具 (感谢iOS程序犭袁提供)

UI相关

1.距离

不行!说的是20px!差1px,2px,5px,10px,都不算20px!

遇到有像素眼的设计师,想哭的心情总是有。但是他们可能有时候会忘记标X、Y,或者就是宽高,下面是我司UI给的一张图:

魂淡,说好的X,Y呢?

然后我最开始是这样做的

可是总会有辣么一点误差,而且费眼。。。后来我偶然听一个产品朋友说他们在用马克鳗标图,它有免费和收费2个版本,免费版本可以使用基本功能,感觉还不错。

今天喵神onevcat在微博发了一个测量的工具:Pixel Winch ,试了一下,比马克鳗好使。

2.图片压缩

我们UI就不太注重图片的大小,尼玛,有一次给的图片有4M多,害我自己还得压缩一遍

tinypng,保质压缩,我感觉还不错,推荐给我们UI和后台,他们用过之后都说好

tinypng批量压缩图片脚本 配套使用更佳。(感谢newbee_nAn 提供)

3.AppIcon

AppIcon只需要UI提供一张1024*1024的图就可以了,具体的icon可以用Prepo生成

两地办公

假设这么一种情况:公司用的是SVN,公司一台公司电脑,家里一台自己电脑,有时候可能想回来后接着敲代码,怎么办?

再假设这么一种情况:公司用的是SVN,产品想实现一种效果,但是你又不确定能不能写出来,所以你可能会纠结要不要在公司项目上改动,怎么办?

如果有上述两种烦恼,那么Github 和 Bitbucket 是您的首选,具体选哪个,这里有一篇对比文章:GitHub vs. Bitbucket 不只是功能不同.

Github

Github上好的开源项目太多,一个一个的star,太慢了,怎么破?

1
language:Objective-C stars:>900

这个其实就是Github的Advanced search功能:

小伙伴们切记啊,star后并不代表你就掌握了,只有真正深入了解后才是自己的。

没有效率的iOS开发者们只能默默成为 加班狗!

 

 

据说大神们都在用的提升编码速度和工作效率的工具,今天小编给搜罗来了。以下17款,肯定有你心仪的工具。赶快get吧!

 


1.SQLiteManager
SQLiteManager是一个Firefox上的管理SQLite的小插件。在用到CoreData的时候配合使用很方便。我常常觉得Xcode应该集成这方面的功能。它很简洁,我很喜欢这一点。

2.Chisel

使用LLDB可以显著减少开发者的调试时间。Facebook开发了一套用于LLDB的命令十分有效,特别是当出现了一些难以复现的问题的时候。虽然熟悉它需要一定的时间,但是绝对值得。

3.Rest Console
Rest Console是一个基于Google Chrome的插件,它提供了一个简单易用的REST可视化界面,使得调试API的工作变得更加有趣。Rest Console可以将返回结果格式化,使之便于阅读。同时它也支持oAuth。

4.Network Link Conditioner
这是一个来自苹果官方的工具,它可以模拟任何网络环境,如3G,Edge等等,也可以重新定义当前的网络环境,如网络延迟、带宽或丢包率。Network Link Conditioner也可以应用于真机,但是使用的时候需要小心,使用这个工具不仅仅对使用者起作用,还会影响整个网络。

5.SimPholders
SimPholders是一个简单便捷的小应用,它会在Mac的工具栏上设置一个快捷按钮,开发者通过它就可以快速打开模拟器或是最近使用的应用。特别是当你需要处理应用文件夹内容的时候,你再也不需要一次次地点进模拟器和应用的文件夹了,用SimPholders就够了。

6.MacDown
你是否已经厌倦了在没有预览的情况下写markdown文件?又或者你使用的编辑器需要按下按钮才能显示预览效果?MacDown是一款方便的的markdown编辑器,它可以在markdown代码右边实时显示预览效果。

7.Status Barred
根据iTunes Connect Guidelines的要求,屏幕截图不应当包含状态栏,这个工具可以帮助我们平滑地去除状态栏,同时支持iPhone和iPad的屏幕截图。这个小应用虽然只做一件事,但是做得很好。

8.XcodeBoost
通过配置,我们可以使用光标或者不精确的选择就可以剪切或者拷贝代码行,可以在粘贴代码的时候不触发代码格式化,还可以通过在.m文件中拷贝方法,粘贴进.h文件的时候就可以得到自动格式成的方法声明,还有好些功能都可以实现。XcodeBoost,值得你拥有!

9.FuzzyAutocomplete
这个插件可以在编码的时候自动补全代码。它的强大之处在于,使用了与”Open Quickly”功能相同的算法,如,当你想使用“tableView:cellForRowAtIndexPath:”方法,原来需要输入冗长的“- (void)tableView:(UITableView *)tableView ce”才能匹配出方法,而现在只需要”- cellFor”就行,省事多了。

10.VVDocumenter-Xcode
尽管给所有的文件都做上注释的感觉很棒,但是你是否想过这得花多少时间?事实上,感谢VVDocumenter-Xcode,真不需要多少时间。它可以自动解析方法的参数及返回值,并形成Javadoc风格的注释。我们写的所有开源代码都使用了这个插件。

11.SCXcodeSwitchExpander
Switch语句相当繁琐。虽然它清楚地列出了在每种情况下应该处理的方式,但一个个填入枚举值那真是浪费时间。SCXcodeSwitchExpander插件可以帮我们完成这个工作,它可以自动获得所有的枚举值填入相应的位置,而我们只需在每个枚举值下面填入对应的逻辑即可,方便极了!

12.ShowInGithub
代码审查是Netguru大神们生活方式的一部分。尽管大部分bug会在此阶段被检查出来,但我们仍然会在使用他人代码的时候发现问题。这个时候,ShowInGithub大显身手的时候到了,只需要按下ctrl+C或ctrl+G,就可以立即打开commit或file页面,同时支持Github和BitBucket,非常棒!

13.KSImageNamed
过去,我不得不频繁查看资源文件夹以查找合适的图片的名称。使用KSImageNamed插件后,会自动弹出图片名称的列表以供选择,而且还有缩略图,十分便捷。

14.QuickLocalization

你是否已经厌倦了反复写NSLocalizedString?如果是,那么QuickLocalization插件可以助你一臂之力。当你在编辑字符串的时候,只需要按下option+shift+d,就可以将@“Any String”转换成NSLocalizedString(@"Any String", nil)。而且还可以通过修改配置来定义要出现在comment字段中的内容。我已经离不开它了!

15. Derived Data Exterminator
当你在编译项目的时候,是否曾为Xcode爆出的某个奇怪的错误绞尽脑汁?我想答案是肯定的,并且我们都明白,其中的一种错误的解决办法就是—删除DerivedData!尽管我们有很多种方法解决这个问题,但Derived Data Exterminator无疑是最便捷的那种。在我们将它集成到Xcode后,就可以一键清理Derived Data。

16.一个简洁的可视化颜色插件。
在你编辑颜色的RGB值的时候,会在代码上方出现一个小的色块,显示对应的颜色。点击色块还会弹出一个颜色编辑器,在编辑器中得到的色值会自动填入colorWithRed:green:blue:alpha:

17.HOStringSense
在编辑字符串的时候,它会在代码上方生成一个字数统计的提示框。当你需要编辑多行文本时,可以在弹出的文本框中编辑字符串内容,插件会自动进行字符转义的工作,并实时在代码中更新。


 

时间就是金钱!

别让自己落后了别人。

 

iOS-提高iOS开发效率的方法和工具的更多相关文章

  1. iOS开发——实用篇&提高iOS开发效率的方法和工具

    提高iOS开发效率的方法和工具 介绍 这篇文章主要是介绍一下我在iOS开发中使用到的一些可以提升开发效率的方法和工具. IDE 首先要说的肯定是IDE了,说到IDE,Xcode不能跑,当然你也可能同时 ...

  2. <转>提高iOS开发效率的方法和工具

    介绍 这篇文章主要是介绍一下我在iOS开发中使用到的一些可以提升开发效率的方法和工具. IDE 首先要说的肯定是IDE了,说到IDE,Xcode不能跑,当然你也可能同时在使用AppCode等其他的ID ...

  3. 提高iOS开发效率的方法和工具

    http://www.cocoachina.com/ios/20150717/12626.html 介绍 这篇文章主要是介绍一下我在iOS开发中使用到的一些可以提升开发效率的方法和工具. IDE 首先 ...

  4. 极大提高Web开发效率的8个工具和建议(含教程)

    面对复杂的 Web 应用的开发,良好的流程和工具支持是必不可少的,它们可以让日常的开发工作更加顺畅.更加高效.本文介绍了6个Web开发利器以及相关的教程,帮助你在开发.调试.集成和发布过程极大地提高效 ...

  5. 提高你开发效率的十五个Visual Studio 2010使用技巧

    提高你开发效率的十五个Visual Studio 2010使用技巧 相信做开发的没有不重视效率的.开发C#,VB的都知道,我们很依赖VS,或者说,我们很感谢VS.能够对一个IDE产生依赖,说明这个ID ...

  6. legend2---开发日志11(如何提高终极开发效率)

    legend2---开发日志11(如何提高终极开发效率) 一.总结 一句话总结: 实在没必要摸索着做,直接学了做,用专门的东西来做,岂不是要省时省事很多.岂不美哉. 1.vue中的滚动字幕动画效果如何 ...

  7. 提高 JavaScript 开发效率的高级 VSCode 扩展!

    原文:提高 JavaScript 开发效率的高级 VSCode 扩展! 作者:前端小智 Fundebug经授权转载,版权归原作者所有. Quokka.js Quokka.js 是一个用于 JavaSc ...

  8. 提高python执行效率的方法

    python上手很容易,但是在使用过程中,怎么才能使效率变高呢? 下面说一下提高python执行效率的方法,这里只是说一点,python在引入模块过程中提高效率的方法. 例如: 1.我们要使用os模块 ...

  9. iOS之17个提升iOS开发效率的必用工具

    时间就是金钱.编码效率的提升意味着更多的收入.可是当我们的开发技巧已经到达一定高度时,如何让开发效率更上一层楼呢?答案就是使用开发工具!在这篇文章中,我会向你介绍一些帮助我提升编码速度和工作效率的工具 ...

随机推荐

  1. 指定eclipse启动使用的JVM

    不同eclispe对运行时要求不一样,而一台电脑只能同时使用一个运行时,当多个要求不同版本jvm的eclipse需要在一台电脑工作时,需要手动指定eclipse启动使用的jvm. [eclipse-j ...

  2. 调用0A中断输入字符串数据段的DUP定义

    ;这是自动生成的代码模板 STACKS SEGMENT STACK ;堆栈段 DW DUP(?) ;注意这里只有128个字节 STACKS ENDS DATAS SEGMENT ;数据段 STRING ...

  3. webpack 使用教程--实时刷新测试

    学习webpack,基本始终是围绕: 1.如何安装webpack 2.如何使用webpack 3.如何使用loader 4.如何使用开发服务器 可能我们会在如何使用开发服务器的时候,遇到诸如调试的相关 ...

  4. view的滑动冲突解决方案

    一.常见的滑动冲突场景 1.外部滑动方向和内部滑动方向不一致 2.外部滑动方向和内部滑动方向一致 3.上面两种情况的嵌套 二.滑动冲突处理的原则 场景1的处理原则是:当用户左右滑动时,需要让外部的vi ...

  5. Java_位运算(移位、位与、或、异或、非)

    public class Test { public static void main(String[] args) { // 1.左移( << ) // 0000 0000 0000 0 ...

  6. java分享第二十天(build.xml的语法及写法)

    通常情况下,Ant构建文件build.xml应该在项目的基础目录.可以自由使用其他文件名或将构建文件中其他位置.在本练习中,创建一个名为build.xml 在电脑的任何地方的文件. <?xml ...

  7. h5 audio标签在手机上不能自动播放????

    最近在做一个微信端的项目,快到接近尾声的时候,发现还没放入音频,于是乎,放入音频,在电脑端测试一切正常,无阻碍. 后来在手机上测试,发现背景音乐不能播放,于是开始找错,刚开始以为是IIS服务器出错,结 ...

  8. PHP中include()与require()的区别说明

    require 的使用方法如 require("MyRequireFile.php"); .这个函数通常放在 PHP 程序的最前面,PHP 程序在执行前,就会先读入 require ...

  9. sql编程篇 (五) 事务

    计算机中的事务 编辑 概念 事务(Transaction)是访问并可能更新数据库中各种数据项的一个程序执行单元(unit).事务通常由高级数据库操纵语言或编程语言(如SQL,C++或Java)书写的用 ...

  10. 温故而知新 css + html 超级牛逼的居中策略

    该方法甚至可以解决img内容居中的问题 套路:最外层div宽度为居中内容所占的宽度(通常是1170px),并且使其居中(margin:auto) 里层的div宽度为全屏(通常是1920px;)再mar ...