iOS 开发者必知的 75 个工具

若是你去到一位熟练的木匠的工做室,你老是能发现他/她有一堆工具来完成不一样的任务。
  软件开发一样如此。你能够从软件开发者如何使用工具中看出他水准如何。有经验的开发者精于使用工具。对你目前所使用的工具不断研究,同时了解一些替代品的使用,当你目前所用的工具没法知足你的须要时能够填补空缺。
  记住了这些,我将向你展现一份关于各类工具的长长的列表。其中一些我天天都用,其余的我看状况使用。若是你还有更多的工具想展现在这个列表里,能够跟我留言哦亲。
  我尽我所能给列表分分类。有一些是网站,有些是后台服务,但大多数是你能够装的应用。不是全部应用都是免费,所以我会用$符号来表示此应用是否要花钱。
  废话很少说,咱们立刻开始。
  灵感html

  • pttrns - 一个很棒的按任务分类的 iOS 屏幕设计图库。举例来讲,若是你想看其余应用如何处理活动 feed,在这儿你能够找到一堆的例子。
  • TappGala - 另外一个很棒的优美应用设计的集合站。它不是按任务来分类的,只是一个优秀应用的列表,你能够在此获取灵感。
  • Cocoa Controls - 一些很棒的你能够用在你的 iOS 应用中的组件(代码)的列表。有时你能够找到一段优秀代码来节省时间,有时你也能够学习其余开发者是如何完成某个功能的。订阅他们的每周一报吧,都是精华,极少糟粕。
  • IICNS - 真正优秀图标的集合。获取灵感吧,但不要抄袭。
  • Dribbble - 最优秀的设计师们在上面展现他们的做品。真正的精品。
  • Capptivate - 给人灵感的设计做品图库。有些带有动画。感谢你,@joaopmaia!

  设计ios

  • Mocks ($) – 一个简单应用的快速建立 iOS 应用原型的工具。自带一些默认控件,你能够快速搭建原型。
  • Briefs ($) – 一个颇有用的应用,可让你建立应用原型,将原型连起来造成交互。你能够部署到真实设备上,看看在你手上是什么样的感受。
  • Acorn ($) – Photoshop 的有力竞争者,比 ps 便宜多了。我发现本身最近用 Photoshop 愈来愈少了。该项目在积极的开发维护中。
  • Sketch ($) - 一个基于矢量的画图工具,随着屏幕尺寸和像素密度的改变,这个工具愈来愈有用。只须要设计一次,而后能够根据须要进行缩放。同时还带有一个很强大的导出系统。对于 Sketch 示例项目,请看 Sketchmine。个人screencast on Sketch 上有视频演示。
  • iOS 7 PSD by Teehan+Lax - 若是你(或者你的设计师)用 Photoshop 的话,这是个超有用的资源。也有 iOS 6版本的。
  • Bjango’s Photoshop Actions - 若是你用 Photoshop 来设计 iOS 应用的话绝对能帮你省时间。一次点击便可重设画布大小,缩放 200%(或 50%),设置全局亮度为 90 等等。他们的 博客中也有许多 Photoshop 的工做技巧。
  • xScope ($) – 一把不可或缺的瑞士军刀,指导,像素放大镜,屏幕度量等等。想知道某个像素点的颜色值?想知道某个 Mac 应用的一个按钮和窗口之间有多少像素?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 上的远程屏幕查看器,在你的设备上能够立马轻松地看到你的设计图。谢谢你,@_funkyboy!
  • Skala Preview ($) – 另外一个很棒的能够在真实设备上快速看到你的设计图的工具。Bjango 的朋友们很给力,这个应用物有所值。谢谢你,jn40!

  源代码控制git

  • Git - 若是你没有使用源代码控制的话,停下手中的活立马作出改变吧。我使用 git 作任何事情,我超爱它的。
  • Kaleidoscope ($) – 最棒的 diff/merge 工具。三路合并,看着很漂亮。我天天都用。
  • p4merge - 一个免费的、简陋的 Kaleidoscope 的替代品。强大的三路合并功能,但找下载连接不容易啊。我每次要找的时候都以为在他们网站上藏的很深啊。
  • Git X - 一个简单强大的 GUI 工具,能够看到 git 的时间线,轻松简便地实现暂存区提交。我一般在终端上使用 git,但当我须要将暂存区的改变作一次提交的时候就会想到这个应用。这是原来(已经废弃)的 GitX 的一个衍生品,我在这个衍生品列表上找到的。
  • Source Tree - 一个免费功能很全的 Git 应用。我没用过是由于我喜欢命令行的方式,但若是你喜欢用 GUI 工具的话,能够看看这个。

  剖析应用github

  • 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 的恩恩怨怨来看,我相信颇有必要来考虑下有哪些替代品。web

  • AppCode - Jetbrains(ReSharper for .NET 的制做公司)的一款功能全面的 IDE。强大的重构工具和功能能够帮助你更快地写代码。快速识别死代码,当你使用了相关代码时自动插入#import 语句,轻松选取变量、方法以及类。我惟一但愿的是它能成为 Xcode 的一个插件。
  • Vim - 等一下, vim?真的么?确实是真的,有人在 vim 里作全部的 Objective-C 开发。我并非其中之一,但我喜欢用 vim 开发 ruby。就由于如此,我很喜欢…
  • Xvim -  一个 Xcode 插件,能使用 vim 中的 keybindings。感受不错,‘nuff 说。
  • 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 吧。

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

  • appledoc - 想自动生成苹果官方那样的文档吗?不用再找了。自动在你的项目中定义超连接符号,使用特殊格式的代码注释来提取内容。生成正式文档和 HTML 网页。
  • Dash ($) – 一个必须拥有的 API 文档查看器和代码片断管理器。它很好用,容许你下载并搜索各类语言和框架的 API 文档,并且速度很快。最快访问文档的方式。为了使搜索更快,我把 Dash 和 Alfred 集成起来使用

  依赖管理
  是的,这里只列举了一个工具。我不想引入真正的第三方库列表,由于它们属于彻底不一样的另外一个列表。当咱们谈到依赖管理的时候,最最重要的就是:数据库

  • CocoaPods -  管理 Objective-C 项目的重要工具。容许你轻松快速地将第三方库集成到你的应用中。它是经过建立另外一个静态库工程,而后自动连接到你的工程来实现的。有成千上万个可用的 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

  图像vim

  • ImageAlpha - 一个 Mac 应用,可让你将 24 位带透明度的 PNG 图转成 8 位的带 alpha 通道的 PNG 图。一般 8 位 PNG 图不带有 alpha 通道,所以若是你的图片能够用 8 位来表示(好比一个单色的按钮)的话,你能够经过把 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 Datawindows

  • 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 应用极可能会和服务器通讯分享数据、获取新内容、发送推送通知等等。虽然你均可以手动去作,但你或许想要更方便的解决方案。

  • Helios - Helios 是一个开源的框架,为 iOS 应用提供了基础的后台服务,从数据同步、推送通知到应用内购买以及 passbook 集成。它创建在许多开源 ruby gem 的基础上,所以若是你想要的话能够挑选构建你本身的栈。看一下Nomad CLI,有不少好用的相关工具。
  • Windows Azure Mobile Services - 你能够把它想象成在云端的一个可编程数据库。建表,用 JavasScript 来读取、插入、删除,增长额外的功能。实现推送通知至关简单。
  • Urban Airship - 我如今在用 Urban Airship 来实现推送通知。很容易集成,用户量不大的话是免费的。
  • 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 搭配使用效果更好。

  如下的几个均可以用来执行端到端的验收测试。这些测试会和你的界面交互,点击按钮,滚动,等等。虽然上它们运行会比较慢,可是在大范围内测试会更容易看到全部的模块整合的是否良好。

   演示/市场

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

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

  • App Viz 2 ($) – 一个颇有用的 Mac 应用,能够跟踪你应用的销量。你在本地运行它,它会登陆并下载你的销售报告。
  • App Annie - 一个在线的销售报告工具。我不太乐意把个人认证信息交给除了 iTunes 之外的第三方,但它确实能确保你的报告是最新的,你无需在本地运行一个程序。在评论中,Josh Brown 建议能够建立另外一个用户用于 iTunes Connect 中的分析,这个主意不错。

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

  • Quick Radar - 提交 bug 报告给苹果,是咱们惟一能够帮助他们改善工具的办法。若是你因为缺乏某个功能感到万分沮丧,你能够提交一个 bug 报告。若是你遇到了一个 bug,你一样能够。若是他们没有雷达的话,用户尚未抱怨的权利:)所以,经过 bugreporter 来提交 bug 报告的话好像又回到了 1995 年。Quick Radar 是一个很赞的应用,它可使提交 bug 报告变得超级简单。自动发布到开放的雷达,这样其余人就能看到,也能够发 twitter,发布到 App.net。我每周都要用好几回这个应用。

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

原文连接:http://news.cnblogs.com/n/186518/

相关文章
相关标签/搜索