适用于iOS开发人员的75种基本工具

如果您要去木工大师的商店,您总是会发现他或她用来完成各种任务的大量工具。

在软件中,是相同的。 您可以通过软件开发人员使用工具的方式来衡量他们。 经验丰富的软件开发人员会掌握他们的工具。 深入学习当前的工具,并注意替代现有工具的不足,这一点很重要。

考虑到这一点,我向您介绍了一系列庞大的工具。 我每天都会使用其中的一些工具,而我发现其中一些工具有潜力。如果您想在这里看到更多工具,只需确保添加评论即可。

我尽力将这些分类。 其中一些条目是网站,一些条目是后端服务,但大多数条目是您安装的应用程序。 并非所有的应用程序都是免费的,因此我会用$记笔记以表明某个应用程序需要付费。

事不宜迟,我们将从任何项目的开头开始,

灵感

  • pttrns —出色的iOS屏幕设计库,可按任务分类。 例如,如果您想查看其他应用程序如何处理活动供稿,那么这里是查看大量示例的好地方。
  • TappGala —不错的应用程序设计的另一个很好的集合。 它不是按任务分类的,而只是从中汲取灵感的出色应用程序列表。
  • iOS示例—可以在iOS应用中使用的大量组件(代码)列表。 有时,您会找到很多可以节省时间的代码,而有时候,您可以学习其他开发人员如何完成某些功能。 订阅他们的每周新闻; 所有信号,噪音很小。
  • IICNS —真的很棒的图标的集合。 受到启发,但不要复制。
  • Dribbble —一些最好的数字设计师将他们的作品发布给所有人看。 值得一看的设计宝库。
  • Capptivate-鼓舞人心的设计画廊。 有些包含动画。 谢谢, @joaopmaia

设计

  • Mocks($)-易于使用的工具,可用于快速创建iOS应用程序的模型。 附带了一堆默认控件,您可以使用它们快速组装某些东西。
  • 简报($)-一个非常有用的应用程序,可让您创建一个应用程序的模型并将它们缝合在一起,以便您可以看到交互。 部署到设备上,以便您可以看到手中的感觉。
  • 橡子($)-Photoshop的强大竞争对手,只有这样便宜。 我发现自己越来越少地接触Photoshop了。 正在积极发展中。
  • 草图($)-基于矢量的绘图工具,如今随着屏幕尺寸和像素密度的变化而变得越来越有用。 通常,设计一次很有帮助,并且可以根据需要自由缩放。 还具有强大的出口系统。 对于一些示例Sketch项目,请查看Sketchmine。 请参阅我在Sketch上的截屏视频以进行实时演示。
  • Teehan + Lax的iOS 7 PSD-如果您(或您的设计师)使用Photoshop,这是一个超级方便的资源。 也提供iOS 6版本。
  • Bjango的Photoshop Actions —如果您使用Photoshop设计iOS应用程序,则可以节省一定的时间。 一键访问即可调整画布大小,缩放200%(或50%),将全局照明设置为90º,甚至更多。 他们的博客还提供了许多有用的Photoshop工作流程提示。
  • xScope($)—必不可少的瑞士军刀,其中包括指南,像素放大镜,屏幕标尺等工具。 是否想知道该像素是什么颜色值? 是否想查看随机Mac应用程序的按钮和窗口之间有多少像素? xScope涵盖了您。 另外,请查看其配套的iPhone应用程序,以镜像您正在处理的设计,并在iDevice上以像素完美的外观看到它们。
  • Glyphish($)-为您的iOS应用提供了一个精美的高质量图标集合。 Apple没有提供很多内置图标,因此方便使用具有涵盖各种概念的图标集合。 我仍然在寻找那个婴儿图标的用途 。 Glyphish打包提供,最新的打包提供iOS 7“细线”图标,这在设计iOS 7应用程序时非常方便。
  • iOS的Fontastic图标-用于使用图标字体的开源类集,例如iOS应用程序中的Font Awesome。 无论您需要什么像素尺寸,都可以快速,轻松地拥有一个图标。 由于天生就可以轻松缩放字体,因此这是一种非常不错的方式来运送和使用图标,而不必导出所需大小的多个版本。
  • PaintCode($)—一种基于矢量的绘图工具,可将您的作品导出为等效的Core Graphics源代码。 对于了解Core Graphics绘图的工作原理非常棒,但是如果您希望绘图是动态的,也非常方便。 请参阅我在PaintCode上的截屏视频,以进行实时演示。
  • 边缘插图($)-一个简单的工具,可帮助您定义可重复图像的边缘插图。 在Mac App Store中可用。
  • LiveView — iOS的远程屏幕查看器,可轻松在设备上立即查看您的设计。 谢谢 @_funkyboy
  • Skala Preview($)-另一个出色的工具,可以在真实设备上快速展示您的设计。 Bjango的家伙很棒,这个应用程序值得这个价格。 谢谢,jn40

源控制

  • Git —如果您不使用源代码管理,请停止正在执行的操作并进行纠正。 我使用git做我喜欢做的所有事情。
  • 万花筒($)-最好的差异/合并工具。 做三向合并,外观漂亮。 我每天都使用它。
  • p4merge —万花筒的一种免费丑陋替代品。 强大的三向合并功能,但好运找到下载链接。 每当我寻找它时,它就会隐藏在他们的网站深处。
  • Git X —一个简单而强大的GUI工具,用于可视化git时间轴并快速轻松地暂存提交。 我通常居住在终端上以使用git,但是当我需要将大块的更改分阶段转换为逻辑提交时,请回到此应用程序。 这是原始(废弃)GitX的分支,我在此分支列表中找到了它。
  • 源代码树—一个免费的,功能齐全的Git应用程序。 我不使用它,因为我更喜欢命令行,但是如果GUI工具是您的最佳选择,请签出此应用程序。

剖析应用程式

  • pngcrush —这个小工具可以压碎解压 PNG文件,当您要查看App Store中分发的应用程序内捆绑包含的图像时,这非常方便。 只需打开iTunes,查看本地应用列表,然后右键单击任何图标以在Finder中显示。 到达该位置后,打开该应用程序,您将看到一堆PNG文件,但无法查看它们。 使用pngcrush,您可以提取完整版本,以便可以使用“预览”打开它。
  • appcrush.rb —这个方便的红宝石脚本将针对所有图像自动执行上述过程。 只需将其指向一个.app
    磁盘上的文件,它将所有图像提取到桌面上的文件夹中。 方便查看手机上的应用如何完成某些设计。 查看我在剖析应用程序时的截屏视频,以进行实时演示。
  • Charles($,免费的有限演示版)—我不知道丑陋的UI或图标是怎么回事,但是Charles是任何开发人员必备的工具。 Charles充当代理,使您可以检查与iPhone Simulator之间的网络通信。 您还可以通过将手机的代理设置为运行Charles的Mac来检查设备的流量。 借助自签名SSL证书,请求和响应断点以及请求/响应查看器,Charles确实功能强大。 必备工具。 同样,我在剖析应用程序时的截屏视频很好地涵盖了这一点。

编辑

我知道您在想什么,不是所有的iOS开发人员都使用Xcode吗? 好吧,是的。 但是,由于我与Xcode的爱恨交织,我认为考虑替代方案具有巨大的价值。

  • AppCode —来自JetBrains(出色的.NET ReSharper的制造商)的成熟IDE。 强大的重构和功能,可帮助您更快地编写代码。 快速识别无效代码,自动插入#import
    使用相关代码时的语句,可以轻松提取变量,方法和类。 我对该应用程序的唯一愿望是,它将成为Xcode的插件。
  • Vim —等待,Vim? 真? 是的,有些人在vim中进行所有的Objective-C开发。 我不是其中之一,但是我喜欢Ruby开发的vim。 因此,我非常喜欢…
  • Xvim —一个Xcode插件,为您提供vim键盘绑定。 纳夫说,效果很好。
  • OMColorSense — Xcode的另一个插件,当您的光标位于如下所示的行上时,该插件可以为您显示少量的颜色:[UIColor redColor]
    。 单击此小颜色选项卡将打开您可以更改的颜色选择器,并且通过将行更改为[UIColor colorWithRed:…绿色:…蓝色:… alpha:…],您所做的任何颜色更改都会反映在代码中。
    。 当有人看着我编写启用此功能的代码时,他们总是会问我: “哇! 那是什么?!”
  • KSImageNamed —另一个Xcode插件,此插件可让您在键入[UIImage imageNamed:…]时自动完成捆绑包中的图像文件名。
    。 避免导致该方法返回nil的不可避免错字的好方法
    然后您就浪费了10分钟来弄清楚为什么无法显示图片。
  • CocoaPods Xcode插件—此插件添加了一个菜单项,用于与CocoaPods进行交互。 如果您不喜欢使用命令行,则很有用。
  • Alcatraz软件包管理器—很棒的meta插件,使您只需单击即可轻松安装其他Xcode配色方案和插件。
  • Code Runner($)-一种轻量级的代码感知文本编辑器,它知道如何编译和运行大多数语言的代码。 是否想测试一下Objective-C代码的快速片段,并且不想创建一个完整的Xcode项目来做到这一点? 代码运行器进行救援。

文件资料

啊,文档,每个人都喜欢的话题。 即便如此,拥有文档确实非常重要,因此请注意,我们可以使您的生活更轻松。

  • appledoc —是否想自动生成类似于Apple的文档? 别再看了。 自动链接项目中定义的符号,并使用特殊格式的代码注释提取讨论以输出。 生成官方文档和HTML网站。
  • Dash($)-必备的API文档查看器和代码段管理器。 该工具非常方便,因为它允许您以闪电般的速度下载和搜索各种语言和框架的API文档。 获取文档的最快方法。 我将Dash与Alfred集成在一起,以使搜索更快。

依赖管理

是的,这里只列出一种工具。 我不想包含实际的第三方库,因为那完全是一个不同的列表。 当涉及到依赖性管理时,城里只有一个游戏:

  • CocoaPods — Objective-C项目的必备工具。 使您可以快速轻松地将第三方库集成到您的应用程序中。 它是通过创建第二个静态库项目并将其与您的项目自动链接来实现的。 有成千上万个Pod,可以轻松添加对您不拥有(或可能是私有)的库的支持。 我在我从事的每个项目中都使用CocoaPods。

诊断和调试

在某个时候,我们的应用程序已经投入使用,我们需要更好地了解正在发生的事情,也许是要修复错误或提高性能。

  • 可可伐木工人-功能更强大的NSLog
    ,可可伐木工人提供高级的日志记录行为,例如记录到旋转文件,记录到网络以及基于日志级别(信息,调试,警告,错误)进行过滤。 由NSScreencast第61集报道
  • DCIntrospect-疯狂的强大工具,在调试和模拟器上运行时,您可以在应用程序内部链接。 完成后,您可以按空格键以获取一些非常有用的视图调试支持。 查看屏幕上元素的确切尺寸,打印视图层次结构,甚至微调水平或垂直视图。
  • Pony Debugger –您可以通过在调试版本中嵌入库来使用的另一种工具,Pony Debugger实际上是利用Chrome的开发工具来查看来自设备的网络请求,以及基本的Core Data浏览器。 很难描述,但请查看我在Pony Debugger上的截屏,以获得更多信息。
  • Runscope($)-Runscope是一项在线运行的服务,可以捕获请求,记录详细信息,并为您提供有关API的有价值的数据。 设置简单,因为它是HTTP直通API,您只需更改主机名即可。
  • SimPholders —快速,轻松地访问您的模拟器文件夹。 按iOS版本浏览,然后按应用名称浏览,然后直接跳至Finder中的文件夹。
  • Spark Inspector($)-调试以3D调试模式在应用程序上运行的视图层次结构。 必须真正看到此应用程序才能充分理解其价值,但它确实可以帮助您了解使用哪些视图来构成您的应用程序。 还包含一个通知中心检查器,因此您可以轻松查看NSNotification
    s正在开火,谁在观察他们。 另一个类似的应用是Reveal。

图片

  • ImageAlpha —一个Mac应用程序,允许您将具有透明度的24位PNG转换为具有alpha通道的8位PNG。 通常8位PNG没有Alpha通道,因此如果您的图像可以8位表示(例如纯色按钮),则可以通过将24位PNG转换为8位来节省很多存储空间使用ImageAlpha。
  • ImageOptim —另一个Mac应用程序,它压缩PNG以节省空间。 大多数PNG文件可以将大小减少几%,有时您会将文件缩小30%或更多。 较小的图像表示较小的应用程序大小,以及用于在运行时加载它们的内存较少。
  • 准备-一个小型Mac应用程序,可以快速调整您可能需要的各种尺寸的图稿的大小。 只需将一个大图标文件(例如1024×1024)拖到Prepo上,看看它会吐出512×512 iTunesArtwork,114×114 Icon@2x.png以及您期望的所有其他大小和文件名。
  • Slender($)-一款出色的应用程序,可以分析您的应用程序并发现各种问题,例如视网膜图稿丢失,未使用的图像,可以从压缩中受益的图像等等。 通过使用Slender删除未使用的图像,可将iPhone应用程序的字节数减少1千字节。

核心数据

  • Mogenerator —仍然是用于生成NSManagedObject的智能子类的超级有用的工具
    在您的核心数据模型中。 有些人为此使用Xcode,并求助于手动子类化或创建类别,以便为模型添加逻辑。 Mogenerator作为快速的预编译脚本运行,以生成供您使用的子类。 它通过创建带下划线的版本(_User
    )和一个常规代码供您修改(用户
    )。
  • 基本($)-有时您需要检查实际的Core Data SQLite数据库以查看发生了什么。 您可以使用sqlite3
    命令行工具,但是Base提供了漂亮的GUI浏览器。 当您看到Core Data为您创建的数据库架构时,请不要呕吐。
  • Core Data Editor($)-要进行更高级的数据分析,探索和修改,您可以使用Core Data Editor。 该应用程序了解Core Data,因此您可以直接使用实体而不是数据库行。

后端服务

最终,您的iOS应用可能会希望与服务器对话以共享数据,获取新内容,发送推送通知等。 虽然可以手动完成此操作,但您可能需要更多的嵌入式解决方案。

  • Helios-Helios是一个开放源代码框架,可为iOS应用提供基本的后端服务,从数据同步,推送通知到应用内购买和存折集成。 建立在许多开源红宝石宝石之上,因此您可以根据需要选择并选择并构建自己的堆栈。 还可以查看方便使用的相关工具的Nomad CLIset。
  • Windows Azure移动服务-您可以将其视为云中的可编程数据库。 创建表,在读取时运行JavaScript,然后插入,删除以添加其他功能。 推送通知也非常容易支持。
  • 城市飞艇—我已经使用城市飞艇传递推送通知已有一段时间了。 真正易于集成,小量使用免费。
  • 解析—这是另一种云端数据服务,但提供了令人印象深刻的API和在线数据浏览器。 我们将Parse用于一个非常小的应用程序,并且对此非常有效。

分析学

这里还有其他玩家,但我见过的任何一个玩家都没有足够的吸引力来摆脱狂奔。 我愿意听取建议,所以让我们在评论中听听他们的意思。

  • Flurry —我已经使用Flurry很长时间了,以提供有关我的应用程序使用情况的有用分析。 是否需要知道何时停止支持iOS 5? Flurry为您提供了进行真实对话的电话号码。

部署

  • Deploymate($)-是否仍需要支持iOS 4,但是您要使用iOS 6 SDK进行编译? 当您使用部署目标中不存在的符号时,部署会警告您。
  • Cupertino-作为Nomad CLI工具的一部分,Cupertino使您可以通过命令行访问Apple Provisioning Portal中的管理设备和配置文件。 例如,只需键入ios devices:list
    查看您帐户中当前的设备列表。 对于自动化大量流程很有用。
  • Hockey App($)-一项出色的服务,用于管理您的即席构建的分发。 测试人员可以获得一个无线安装新Beta的链接。 还提供了强大的崩溃报告,因此您可以轻松响应应用程序中的崩溃。
  • TestFlight —一种免费服务,类似于Hockey App。 我们已成功使用TestFlight轻松分发了应用程序并收集了用户的反馈。 我唯一的愿望是,他们将开始对该服务收费。 还包括分析和崩溃报告,但我们不使用这些功能。
  • iOS Simulator Cropper —一种非常简单的方法,可以捕获模拟器图像,无论是否带有状态栏,带有或不带有设备镶边,等等。非常适合拍摄App Store或仅用于常规营销截图。
  • Status Magic($)-拍摄更好的应用商店屏幕截图。 没有什么比没有电池或信号低的App Store屏幕快照更糟糕的了。 Status Magic可让您对状态栏中的内容进行完全自定义,包括删除元素,像Apple倾向于将时间更改为“ 9:41 AM”等等。
  • Crashlytics-在现场为您的应用程序提供出色的崩溃报告。 在发布版本中自动上载dSYM,因此您的崩溃会被自动标记和组织,以便您专注于最关键的崩溃。

测试中

我认为我们作为一个社区没有足够地专注于测试。 我们提供了许多出色的工具,而且大多数工具都很易于使用,我们没有任何借口不为我们的应用编写至少一些测试。

  • Kiwi —一个很棒的Rspec风格的iOS测试框架。 建立在SenTestingKit之上,因此您只需键入⌘U
    运行您的规格。 还包括一个完全健壮的模拟和存根库以及断言。
  • Specta —一种轻量级的BDD框架,与Kiwi非常相似,但期望语法比Kiwi具有一个主要优点:一切都像这样隐式装箱:Expect(items.count).to.equal(5)
    。 不需要包装5
    在NSNumber中
    就像猕猴桃一样。 与Expecta结合使用可进行一系列有用的匹配。

以下是执行端到端验收测试的所有各种方式。 这些测试实际上将与您的界面,触摸按钮,滚动等交互作用。从本质上讲,这些测试将较慢且较脆,但是进行大笔触测试当然有助于查看所有部件是否正确组合。

  • KIF
  • 夏南瓜
  • 坦率
  • 布沃肯

演示/营销

  • Reflector($)-使用Air Play在Mac上无线镜像iOS设备。 非常适合在计算机上演示应用程序。
  • Placeit-收集了大量使用设备的人的高分辨率照片,但屏幕是模板,您可以将自己的屏幕截图插入其中。 非常酷,非常适合在网站上很好地展示您的应用。

应用销售报告

当然,您希望能够看到自己在应用程序上赚了多少钱,对吗? 有一些解决方案,但是有一些很好的解决方案:

  • App Viz 2($)-一个非常有用的Mac应用程序,用于跟踪应用程序的销售。 您在本地运行它,然后登录并下载销售报告。
  • App Annie-在线销售报告工具。 我不太愿意将我的凭据发送给iTunes的第三方,但这确实使报告保持最新状态,因此您不必在本地运行应用程序。 在评论中,Josh Brown建议为iTunes Connect中的分析创建一个不同的用户,这确实是一个好主意。

垃圾袋

这些工具在上面没有定义的类别,但是仍然值得一提。

  • 快速雷达-向Apple提交错误报告是我们改善其工具的唯一方法。 如果您对缺少功能感到沮丧,则应该提交错误报告 。 如果遇到错误,则应该提交错误报告 。 如果他们尚未提交雷达,则无权投诉:)。 考虑到这一点,通过bugreporter提交bug报告就像回到1995年一样。QuickRadar是一个很棒的小应用程序,它使提交bug报告非常容易。 进行自动发布以打开雷达,以便其他人可以看到它,除了发推文外,还可以发布到App.net。 我每周使用此应用几次。

那里有它。 巨大的工具墙 。 希望您了解了一些可以添加到武器库中的新功能。 如果您喜欢这篇文章,请在NSScreencast上查看我的iOS屏幕录像。

谢谢鹤山府的这篇美丽的文章。