编辑器
我知道你在想什么,难道不是所有iOS开发者都用Xcode吗?答案是大多数都使用。但从我和Xcode的恩恩怨怨来看,我相信很有必要来考虑下有哪些替代品。
- 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吧。
文档
啊哈,文档,每个人最爱的话题。文档很重要,因此请注意一下,我们可以让你生活变得简单一些。
- 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。
图像
- 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 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应用很可能会和服务器通信分享数据、获取新内容、发送推送通知等等。虽然你都可以手动去做,但你或许想要更方便的解决方案。
- 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会给你数据供你们讨论。
|