iOS开发者有价值的工具集
转载于:http://www.cocoachina.com/applenews/devnews/2014/0307/7936.html
我一直比较推崇聪明地工作要远胜于刻苦地工作。使用正确的工具可以帮你更好地解决问题,直达目标。我们都遇见过一些功能非常强大但又价值不菲的工具,虽然价格贵点,但却是可以帮你快速解决问题,节省时间和人力,从而让你更高效地工作。
此前我们介绍过很多关于iOS开发的工具(比如iOS/OS
X开发:各种工具快到碗里来;你用哪种工具进行iOS
app自动化功能测试;五种App原型设计工具使用心得;初识Sketch:设计师的工具箱),今天我们介绍一些必不可少的工具。
![](http://www.cocoachina.com/cms/uploads/allimg/140307/4196_140307153424_1.png)
Git是一个命令行代码管理系统,可能你已经在使用它了,它可以很好地帮你管理代码版本,功能非常强大,支持feature branches、tags、submodules以及logs等。并且其提供的GUI可以让你以一种更时髦的方式来展示commit tree。
我强烈建议不要过于依赖GUI客户端来进行日常的操作,要学会在git命令行中处理commands,常见的比如push、fetch、merge、tag以及clone等。这么做可以帮你理解和掌握git背后的概念。Gitx fork还提供了命令行集成。
我们知道一些文件不应该被提交到资源库,那你如何告诉git提交一个额外的.gitignore文件?我们当然不希望手动做这些细碎又麻烦的事情,运行以下命令:
$ gi xcode,objective-c > .gitignore
![](http://www.cocoachina.com/cms/uploads/allimg/140307/4196_140307153440_1.jpg)
![](http://www.cocoachina.com/cms/uploads/allimg/140307/4196_140307153501_1.png)
Inspecting the iPhone AppStore app. So each section is UICollectionViewCell embedding a UICollectionView.
为了查看UI发生的变化,我们过去常常会重新编译我们的应用,不过效率非常低。Reveal为开发者带来了类似Firebug和Web Inspector的强大工具。先进的2D和3D可视化技术可以让你查看app运行时的视图层次。可以让你快速Debug视图布局问题和渲染问题。
Reveal的强大之处并不仅限于检测你的app,Peter
Steinberger向我们展示了它是如何用在其他app中。
此外,Reveal还支持键盘;可通过视图层级帮你理解复杂的app;3D导航,可流畅旋转,缩放,选中以及高亮;Reveal可让你清楚哪个视图执行了哪个类;Reveal可在设备或者模拟器上运行,可以简单地发现,连接至iOS app。
SimPholders可让你快速直接地访问iPhone模拟器应用的app文档。你可以通过SimPholders找到数据库文件、永久存储以及缓存,它是一个非常实用的app debug工具,同时还可以离线使用。
![](http://www.cocoachina.com/cms/uploads/allimg/140307/4196_140307153526_1.png)
假如你正在寻找一款可替代的工具,你也可以看看Folder Simulator。
![](http://www.cocoachina.com/cms/uploads/allimg/140307/4196_140307153544_1.png)
Database schema from the Core Data modal
如果没有合适的工具,那么查看Core Data records会是一件非常痛苦的事情,更糟糕的是Xcode并没有为你提供一个恰当的方法。Liya可能并不是那么迷人,但它确实是一款非常轻量级的的工具,可以在不锁定正在使用的数据库的情况下很好地工作。简单使用SimPholder查找应用的文档文件夹,定位sqlite数据库文件,然后开始浏览。
Liya允许用户在单个可视化界面同时访问三个数据库系统。Liya可以以同样的方式访问MySQL、PostgreSQL以及SQLite3数据库。通过一个3-panel进行展示,一个展示选择的数据库,一个用以编辑table structure,另一个用以编辑表的内容。Liya可使用多个窗口同时在三种系统中访问数据库,每个窗口展示单个数据库的内容。Liya还可以通过拖放操作把数据从一个数据库移植另一个。你也可以从一个数据库输出数据进行备份。
![](http://www.cocoachina.com/cms/uploads/allimg/140307/4196_140307153615_1.png)
Inspecting network from all the api.* endpoints
有时候你需要真实地知道app输入和输出了哪些内容。不少时候,我们一遍遍查看控制台,但让人头疼的是我们始终不确定为什么API请求和响应会出错。
Charles是我找到的最好的网络检查器,你也可以通过一定设置来inspect
your real device。
确保REST API工作正常,并且准确知道如何配置请求可以帮你减少大量错误做法,而不需要重新编译和经历所UI问题。PAW并不仅仅方便你管理API端点,它还可以缓存结果和适应环境的变化。此外,你也可以通过PAW保存会话和引用,或者和团队成员进行分享。
让PAW与众不同的是它的代码生成工具,不是简单的cURL,甚至是NSURLConnection/AFNetworking Objective-C代码也可以。在iOS平台使用网络请求变得如此的简单。
![](http://www.cocoachina.com/cms/uploads/allimg/140307/4196_140307153635_1.jpg)
![](http://www.cocoachina.com/cms/uploads/allimg/140307/4196_140307153653_1.png)
A palette of main colors that have been using through the Carshare.hk app
Xcode中的颜色选择器并不能让你指定十六进制颜色,但是这对于设计师和web开发者是最基本的标准。事实上如果我们不是直接使用十六进制颜色,就需要手动转换至0…1,而这往往会导致一些误差。这时HexColorPicker这个小插件就发挥了自己的强大之处。
一个视频的效果要远好于洋洋洒洒的数千字,这个有用的Xcode插件可以帮你在代码中视觉换你的颜色。配合HexColorPicker使用,你会发现设置颜色变得如此愉悦和轻松。(视频地址:http://youtu.be/eblRfDQM0Go)
FuzzyAutocompletePlugin是一个Xcode 5兼容的插件,通过添加模糊匹配来提高Xcode代码自动补全功能。开发者无需遵循从头匹配的原则,只要记得方法里某个关键字即可进行匹配,很好地提高了工作效率。
![](http://www.cocoachina.com/cms/uploads/allimg/140307/4196_140307153726_1.gif)
![](http://www.cocoachina.com/cms/uploads/allimg/140307/4196_140307153745_1.jpg)
该程序是一个Quicklook插件,用以预览app和配置信息。
功能
Displays app and provision information for ipa-files
Displays provision information for iOS mobileprovision and OSX provisionprofile files
Uses device names from the Developer Portal
Generates thumbnails for ipa and provision files
你也可以使用iPhone Configuration Utility(http://support.apple.com/downloads/)来管理你的配置文件。
大名鼎鼎的iOS测试平台,很多开发者都使用过。在2月下旬,TestFlight的开发商Burstly被苹果公司收购。TestFlight 表示将会停止开发 Android产品,并且目前的beta测试SDK将不支持新顾客注册。目前的顾客仍然可以使用 TestFlight。
![](http://www.cocoachina.com/cms/uploads/allimg/140307/4196_140307153814_1.jpg)
开发者都希望把自己的应用推广到世界各地,这时候本地化就变得非常重要。你可能需要让别人分担翻译的工作,但是Xcode一直不善于让别人牵涉其中。你不得不生成一个string文件,不过这种做法不利于归并内容,Linguan的出现正是为了解决这个问题。
Linguan可以简化Mac和iOS app本地化的过程,为Xcode项目中所有strings文件提供了智能化的编辑器。在你复制tokens或者丢失翻译的时候,Linguan可给你一定提醒。同时,你可以输出针对某种语言丢失的tokens或者通过邮件发送给你的译者,译者也可以使用Linguan完成翻译或者使用他们的文本编辑器。
![](http://www.cocoachina.com/cms/uploads/allimg/140307/4196_140307153835_1.png)
一款Mac上的应用程序,可帮你跟踪兑换码。当兑换码被兑换时,Tokens会给你发送通知。出于提高工作效率的目的,你可能也想试试免费的PomodoroApp。
![](http://www.cocoachina.com/cms/uploads/allimg/140307/4196_140307153859_1.jpg)
用代码进行绘图会耗费大量的开发时间,而PaintCode是一个专为设计师准备的简单矢量图形绘图应用程序。PaintCode可帮你节省大量时间和工作量,并且没有编程经验的设计师也能立即画出美丽的控件、图标或其他UI界面元素并直接生成适用于iOS或者OS X的Objective-C代码。
![](http://www.cocoachina.com/cms/uploads/allimg/140307/4196_140307153915_1.jpg)