iOS 开发人员不可缺乏的75个工具


原文出处: Ben Scheirman
译文出处: Njuxjyhtml


假设你去到一位熟练的木匠的工做室,你老是能发现他/她有一堆工具来完毕不一样的任务。ios

软件开发相同如此。你可以从软件开发人员怎样使用工具中看出他水准怎样。git

有经验的开发人员精于使用工具。github

对你眼下所使用的工具不断研究。同一时候了解一些替代品的使用,当你眼下所用的工具没法知足你的需要时可以填补空缺。sql

记住了这些,我将向你展现一份关于各类工具的长长的列表。当中一些我天天都用,其它的我看状况使用。数据库

假设你还有不少其它的工具想展现在这个列表里。可以跟我留言哦亲。编程

我尽我所能给列表分分类。有一些是站点。有些是后台服务,但大多数是你可以装的应用。vim

不是所有应用都是免费。所以我会用$符号来表示此应用是否要花钱。
废话很少说,咱们当即開始。windows

灵感


  • pttrns – 一个很是棒的按任务分类的iOS屏幕设计图库。

    举例来讲,假设你想看其它应用怎样处理活动feed,在这儿你可以找到一堆的样例。xcode

  • TappGala – 还有一个很是棒的优美应用设计的集合站。它不是按任务来分类的,仅仅是一个优秀应用的列表,你可以在此获取灵感。
  • Cocoa Controls – 一些很是棒的你可以用在你的iOS应用中的组件(代码)的列表。有时你可以找到一段优秀代码来节省时间,有时你也可以学习其它开发人员是怎样完毕某个功能的。

    订阅他们的每周一报吧,都是精华,极少糟粕。

  • IICNS – 真正优秀图标的集合。

    获取灵感吧,但不要抄袭。

  • Dribbble – 最优秀的设计师们在上面展现他们的做品。

    真正的精品。

  • Capptivate – 给人灵感的设计做品图库。

    有些带有动画。

设计


  • Mocks ($) – 一个简单应用的高速建立iOS应用原型的工具。自带一些默认控件。你可以高速搭建原型。

  • Briefs ($) – 一个很是实用的应用,可以让你建立应用原型,将原型连起来造成交互。

    你可以部署到真实设备上,看看在你手上是什么样的感受。

  • Acorn ($) – Photoshop的有力竞争者。比ps廉价多了。我发现本身近期用Photoshop愈来愈少了。该项目在积极的开发维护中。

  • Sketch ($) – 一个基于矢量的绘图工具,随着屏幕尺寸和像素密度的改变,这个工具愈来愈实用。仅仅需要设计一次,而后可以依据需要进行缩放。同一时候还带有一个很是强大的导出系统。

    对于Sketch演示样例项目,请看Sketchmine。

  • iOS 7 PSD by Teehan+Lax – 假设你(或者你的设计师)用Photoshop的话,这是个超实用的资源。也有 iOS 6版本号的。

  • Bjango’s Photoshop Actions – 假设你用Photoshop来设计iOS应用的话绝对能帮你省时间。

    一次点击便可重设画布大小。缩放200%(或50%),设置全局亮度为90等等。他们的 博客中也有不少Photoshop的工做技巧。

  • xScope ($) – 一把不可或缺的瑞士军刀,指导,像素放大镜,屏幕度量等等。想知道某个像素点的颜色值?想知道某个Mac应用的一个button和窗体之间有多少像素?xScope都能帮你。可以看下他们为镜像设计所开发的iPhone应用,看镜像设计在你的苹果设备上是多么的像素完美。
  • Glyphish ($) – 一个很是赞的有很是多你的iOS应用可以使用的高质量图标的集合。苹果提供的内置图标并很少,所有拥有这么一个囊括各类概念的图标集合很是实用。

    我还在寻找关于婴儿的一些图标。

    Glyphish是以包的形式公布的,最新的包里有iOS7的“细线条”图标。当设计iOS7应用的时候很是实用。

  • Fontastic Icons for iOS – 一个使用图标字体的开源类集合。好比iOS应用中的Font Awesome。可以在不论什么像素维度上高速简便的获得一个图标。因为字体在本质上可以轻松缩放,用这样的办法可以很是方便的在不一样平台使用的图标。而无需依据不一样尺寸导出不一样的版本号。
  • PaintCode ($) -一个基于向量的绘图工具,可以将你的做品导出为Core Graphics源码。

    用来学习Core Graphics绘图是很是棒的。同一时候假设你想要动态绘图也是很是方便。

    个人screencast on PaintCode上有视屏演示。

  • Edge Insets ($) – 一个帮助你定义可重用图片边距的简单工具。在Mac App Store上有售。

  • LiveView – 一个iOS上的远程屏幕查看器。在你的设备上可以马上轻松地看到你的设计图。
  • Skala Preview ($) – 还有一个很是棒的可以在真实设备上高速看到你的设计图的工具。Bjango的朋友们很是给力,这个应用物有所值。

源码控制


  • Git – 假设你没有使用源码控制的话,停下手中的活马上作出改变吧。我使用git作不论什么事情,我超爱它的。
  • Kaleidoscope ($) – 最优秀的diff/merge工具。三路合并,看着很是美丽。我天天都用。
  • p4merge – 一个免费的、简陋的Kaleidoscope的替代品。强大的三路合并功能。但找下载连接不easy啊。我每次要找的时候都认为在他们站点上藏的很是深啊。
  • Git X – 一个简单强大的GUI工具。可以看到git的时间线,轻松简便地实现暂存区提交。

    我一般在终端上使用git,但当我需要将暂存区的改变作一次提交的时候就会想到这个应用。这是原来(已经废弃)的GitX的一个衍生品,我在这个衍生品列表上找到的。

  • Source Tree – 一个免费功能很是全的Git应用。我没用过是因为我喜欢命令行的方式。但假设你喜欢用GUI工具的话,可以看看这个。

剖析应用


  • pngcrush – 这个实用工具可以压缩解压缩PNG文件。当你想那些App Store上应用里的图片时很是实用。仅仅要打开iTunes,查看本地应用列表。对图标右键在Finder中打开。而后打开应用,你可以看到一堆PNG文件,但你无法查看它们。使用了pngcrush你可以将它们所有提取出来,而后用预览来查看。
  • appcrush.rb – 这个很是方便的ruby脚本可以针对所有图片将以上过程本身主动化。仅仅需将它指向你磁盘上的一个.app文件,它就会将所有图片提取到你桌面上的一个目录里。很是方便地可以知道你手机上的应用怎样完毕某些设计的。个人my screencast on dissecting apps上有视频演示。

  • Charles ($, 免费功能受限的试用版) – 我不知道它的界面或者图标为什么如此丑陋,但是Charles是对于不论什么开发人员来讲都很是重要的一个工具。Charles做为一个代理,赞成你监视进出你iPhone模拟器的网络流量。你相同可以经过将手机的代理设置为你Mac上正在执行的Charles来监控你设备上的流量。字签名的SSL证书。请求&响应断点,请求/响应查看器,Charles真心是大赞。一个必须拥有的工具。再次,个人dissecting apps上视频演示。

编辑器

我知道你在想什么,难道不是所有iOS开发人员都用Xcode吗?答案是大多数都使用。

但从我和Xcode的恩恩怨怨来看,我相信很是有必要来考虑下有哪些替代品。


  • AppCode – Jetbrains(ReSharper for .NET的制做公司)的一款功能全面的IDE。强大的重构工具和功能可以帮助你更快地写代码。高速识别死代码。当你使用了相关代码时本身主动插入#import语句,轻松选取变量、方法以及类。我惟一但愿的是它能成为Xcode的一个插件。
  • Vim - 等一下, vim?真的么?确实是真的,有人在vim里作所有的Objective-C开发。

    我并不是当中之中的一个,但我喜欢用vim开发ruby。就因为如此。我很是喜欢…

  • Xvim - 一个Xcode插件,能使用vim中的keybindings。
  • OMColorSense - 还有一个Xcode插件,当你的光标停留在某个代码行如:[UIColor redColor]上的时候。它会在一小块区域里展现出代码中的颜色。

    点击颜色选项卡会打开颜色选择器。你在上面作的不论什么改变都会在代码里获得反映。对应代码改成[UIColor colorWithRed:… green… blue… alpha:… ]。当我开着这个功能写代码。别人看到的时候老是问我:“哇哦!

    这是啥玩意。”

  • KSImageNamed - 还有一个Xcode插件,可以在你打下[UIImage imageNamed:…]的时候,本身主动补全bundle中图片的文件名称。有了它,就可以避免那些不当心打错图片名致使方法返回nil,而后你花10分钟去检查为何图片没有展现出来的问题了。
  • CocoaPods Xcode Plugin - 这个插件添加了一个菜单项可以和CocoaPods交互。假设你不想用命令行的话很是实用。

  • Alcatraz Package Manager - 一个很是棒的元插件。可以让你经过轻点鼠标轻松安装其它的Xcode配色方案和插件。
  • Code Runner ($) – 一个轻量级的代码感知文本编辑器,知道怎么编译和执行多种语言的代码。

    想高速測试一段Objective-C代码。又不想建立一整个Xcode项目?试试Code Runner吧。

文档

啊哈。文档,每个人最爱的话题。文档很是重要。所以请注意一下。咱们可以让你生活变得简单一些。


  • appledoc - 想本身主动生成苹果官方那样的文档吗?不用再找了。本身主动在你的项目中定义超连接符号,使用特殊格式的代码凝视来提取内容。生成正式文档和HTML网页。

  • Dash ($) – 一个必须拥有的API文档查看器和代码片断管理器。它很是好用,赞成你下载并搜索各类语言和框架的API文档,而且速度很是快。最快訪问文档的方式。为了使搜索更快。我把Dash和Alfred集成起来使用。

依赖管理

是的,这里仅仅列举了一个工具。我不想引入真正的第三方库列表,因为它们属于全然不一样的还有一个列表。


  • CocoaPods - 管理Objective-C项目的重要工具。

    赞成你轻松高速地将第三方库集成到你的应用中。

    它是经过建立还有一个静态库project。而后本身主动连接到你的project来实现的。有成千上万个可用的pod。可以轻松地为你的项目添加那些不属于你(或者私有)的第三方库支持。我在个人每个项目里都用了CocoaPods。

诊断&调试

有时候咱们正在开发应用,咱们想更好的了解究竟发生了什么,修bug或者改善性能。


  • Cocoa Lumberjack - 一个更强大的NSLog,Cocoa Lumberjack提供了高级日志行为,比方记录日志到文件、网络,依据日志级别来筛选(info,debug,warn,error)。

    NSScreencast Episode 61中有提到。

  • DCIntrospect - 当你在模拟器上调试的时候连接到你应用中的超强大的工具。

    一旦你这么作了,你可以按下空格键来取得一些很是实用的视图调试支持。查看屏幕上视图元素的精确维度,打印视图层次,甚至水平或垂直移动视图。

  • Pony Debugger - 还有一个你可以嵌入一个库到你调试版本号中的工具。Pony Debugger实际上使用了Chrome的开发工具来查看设备上发出的网络请求。还有一个主要的Core Data浏览器。

    很是难描写叙述。请看个人screencast on Pony Debugger吧。

  • Runscope ($) – Runscope是一个网络服务,可以捕捉请求,记录日志,给你关于你的API的实用数据。因为它是个HTTP通道API, 搭建简单,你仅仅需要更换你的主机名便可了。
  • SimPholders - 高速简单的訪问你的模拟器目录。依据iOS版本号来浏览,而后是应用名,可以直接在Finder中打开目录。
  • Spark Inspector - 在调试模式执行你的应用时,可以用3D来展现调试你的视图层次。

    这个应用你真的要看到了才会真正明确它的价值。它能帮助你了解你的应用是由哪些视图组成的。它还带有一个通知中心监视器。你可以轻松看到发出了哪些NSNotification,谁在观察它们。还有一个监控NSNotification的应用是Reveal

图像


  • ImageAlpha - 一个Mac应用。可以让你将24位带透明度的PNG图转成8位的带alpha通道的PNG图。

    一般8位PNG图不带有alpha通道,所以假设你的图片可以用8位来表示(比方一个单色的button)的话,你可以经过把25位PNG转成8位的来节省很是多空间。

  • ImageOptim - 还有一个Mac应用。可以压缩PNG图片来节省空间。

    大多数PNG文件可以省掉几个百分点的大小,有时甚至30%或不少其它。图片更小意味着应用尺寸更小,执行时载入它们所使用的内存也更小。

  • Prepo - 一个Mac上的小应用,可以将图片高速变换为你需要的多个尺寸。仅仅需要拖动一个大图标文件(比方。1024*1024)到Prepo,它就会生成512*512的iTunesArtwork,114*114的 Icon@2x.png。以及其它的尺寸和文件名称。
  • Slender ($) -一个很是棒的应用。可以分析你的应用,找出各类问题,比方缺乏视网膜屏的图片。没用到的图片,能压缩的图片。使用Slender去除掉那些无用的图片,可以为你的iPhone应用节省好多空间。

Core Data


  • Mogenerator - 一个超实用的工具,在你的Core Data模型中生成NSManagedObjects智能子类。

    有些人使用Xcode完毕这功能,经过手动子类化或者建立分类来为模型添加逻辑。Mogenerator做为预编译脚本执行来生成你可以使用的子类。它经过建立带有下划线的版本号(_User)以及正常你可以改动的版本号(User)来实现。

  • Base ($) – 你确定会需要查看你的Core Data sqlite数据库来检查发生了什么。你可以使用sqlite3命令行工具,但Base给了你一个方便查看的GUI浏览器。当你看到Core Data为你建立的数据库schema时你可不要吐哦。

  • Core Data Editor ($) -对于一些更高级的数据分析、发掘以及改动,你可以使用Core Data Editor。

    这个应用了解Core Data。所以你是在直接和实体打交道。而不是数据库行。

后台服务

终于你的iOS应用很是可能会和server通讯分享数据、获取新内容、发送推送通知等等。

尽管你都可以手动去作,但你也许想要更方便的解决方式。


  • Helios - Helios是一个开源的框架,为iOS应用提供了基础的后台服务。从数据同步、推送通知到应用内购买以及passbook集成。它创建在不少开源ruby gem的基础上,所以假设你想要的话可以挑选构建你本身的栈。

    看一下Nomad CLI。有很是多好用的相关工具。

  • Windows Azure Mobile Services - 你可以把它想象成在云端的一个可编程数据库。建表,用JavasScript来读取、插入、删除,添加额外的功能。实现推送通知至关简单。

  • Urban Airship - 很是easy集成,用户量不大的话是免费的。
  • Parse - 这是还有一个云端数据服务,但是它提供了很是多API以及有一个在线数据浏览器。咱们一个很是小的应用用了Parse,感受不错。

分析

这里还有些别的选择,但没有一个让我认为有冲动把flurry换掉的。


  • Flurry - 我用flurry很是长时间了,它可以提供用户使用个人应用的实用的分析数据。想知道何时可以中止支持iOS5么?Flurry会给你数据供大家讨论。

部署


  • Deploymate ($) – 还需要支持iOS4,但是你在用iOS6 SDK编译?当你使用了一些在你的部署目标上不存在的符号时。Deploymate会警告你的。
  • Cupertino - Nomad CLI工具之中的一个,Cupertino为你提供了命令行接口来管理苹果Provisioning Portal上的设备及profile。举例来讲,仅仅要键入ios devices:list就可以看到你账号里的当前设备列表。可以用来本身主动化不少过程。
  • Hockey App ($) – 管理你ad-hoc版本号公布的不错服务。測试人员可以获得一个连接,无线安装新的測试版本号。它还提供了健壮的崩溃报告功能。你可以轻松应对你应用中的崩溃。

  • TestFlight - 一个类似于Hockey App的免费应用。咱们使用TestFlight已经取得了很是大成功,轻松公布应用,从用户那收集反馈。我惟一但愿他们能对这个服务进行收费。它还包含了分析和崩溃报告功能,但咱们没实用到那些功能。
  • iOS Simulator Cropper - 一个拍模拟器屏幕快照的简单方法,可以选择带或者不带状态栏,带或者不带机器外壳等等。对于App Store或者普通市场上的一些截屏很是实用。

  • Status Magic ($) – 拍出更好的app store截屏图。没有什么比App Store上带有低电量或者低信号标识的截屏图更让你的应用看起来糟糕的了。Status Magic让你充分定制你的状态栏,包含去除一些元素,把时间改为苹果喜欢的“9:41 AM”那样,等等。
  • Crashlytics -对于你正在开发中的应用来讲是个很是棒的崩溃报告工具。

    在公布版里本身主动上传dSYM文件,所以你的崩溃日志会为你本身主动符号化并组织好,你可以专一于最关键的部分。

測试

我认为咱们做为一个社区对測试关注得还不够。

有很是多不错的工具可用。大多数都很是好用,咱们没有借口不为咱们的应用写一些測试。


  • Kiwi - 一个不错的Rspec风格的iOS測试框架。基于SenTestingKit创建。所以你仅仅需按下⌘U来执行你的用例。它相同带有健壮的mocking以及stubbing库和断言。
  • Specta -一个类似于Kiwi的轻量级BDD框架,但是它的expectation语法有一个比Kiwi好的地方:每个变量都隐式装箱:expect(items.count).to.equal(5)。

    不需要像Kiwi那样将5包装成NSNumber。

    和Expecta搭配使用效果更好。

下面的几个都可以用来执行端到端的验收測试。这些測试会和你的界面交互,点击button,滚动。等等。尽管上它们执行会比較慢,但是在大范围内測试会更easy看到所有的模块整合的是否良好。

演示/市场


  • Reflector ($) – 将你的iOS设备经过Air Play镜像到你的Mac上。很是适合在你的电脑上作应用演示
  • Placeit - 一些关于人们使用设备的高分辨率的图的集合。但是设备可以由你上传的截屏图来定制。很是酷,很是适合在你站点上优雅地展现你的应用。

应用销售报告

你固然想要知道你的应用能赚多少钱,不是么?有一些解决方式,这儿有些还不错的:


  • App Viz 2 ($) – 一个很是实用的Mac应用,可以跟踪你应用的销量。你在本地执行它,它会登陆并下载你的销售报告。
  • App Annie - 一个在线的销售报告工具。

    我不太乐意把个人认证信息交给除了iTunes之外的第三方。但它确实能确保你的报告是最新的。你无需在本地执行一个程序。

摸彩袋

这些工具没有一个定义好的分类,但值得一提。


  • Quick Radar - 提交bug报告给苹果。是咱们惟一可以帮助他们改善工具的办法。

    假设你因为缺乏某个功能感到万分沮丧,你可以提交一个bug报告。假设你遇到了一个bug,你相同可以。假设他们没有雷达的话,用户尚未抱怨的权利:)所以,经过bugreporter来提交bug报告的话好像又回到了1995年。Quick Radar是一个很是赞的应用。它可以使提交bug报告变得超级简单。本身主动公布到开放的雷达,这样其它人就能看到,也可以发twitter,公布到App.net。我每周都要用好几回这个应用。

好了就这么多。满满一墙的工具。但愿你之后碰到新工具也能添加到你的兵器库里。假设你喜欢这篇文章,可以在NSScreencast里看下个人iOS屏幕录像。

相关文章
相关标签/搜索