iOS 开发全能工具箱:技术篇

简介: iOS 开发工具箱是一系列的非常好用的 iOS 开发工具的集合,里面包括了网站,在桌面/移动设备上的应用,还有些后端(Back-end)的服务。我会尽力把这些工具分好类,如果有新添加近来的工具,我会放在 NEW 类别下。

iOS 开发工具箱是一系列的非常好用的 iOS 开发工具的集合,里面包括了网站,在桌面/移动设备上的应用,还有些后端(Back-end)的服务。我会尽力把这些工具分好类,如果有新添加近来的工具,我会放在 NEW 类别下。


这个列表是不完整的,我希望会有更多更酷更好用的开发工具添加近来。如果你有任何的建议或者推荐,你可以通过这些方式告诉我:Email, Twitter, Facebook, Google+, 或者 App.net


(译者注:由于文章内容过长,所以按 技术篇 和 设计篇 分开介绍,这里是技术篇)


编辑器

1.Watchdog for Xcode

它是一个监控 Xcode 然后会自动清理无用缓存文件的 Mac 应用,可以帮助更好地编译项目。我经常发现我要为了更新索引或资源,要花费时间去删除那些衍生出来的数据,这个应用帮我省了很多时间。


2.CodeRunner

你能在这个轻量级编辑器中编辑并运行任何编程语言代码。当你想要测试一下代码片段又不想新建一个 Xcode 项目或者混乱你的实际程序的代码时,它恰到好处解决解决这个需求!


3.AppCode

Xcode 之外的最佳备选。AppCode 是一个完整的 Objective-C IDE,它包含了大量 Xcode 没有的功能,例如 代码质量跟踪、更好的代码补全、自动化的 #import 等等。


4.Chocolat

我首选的文字编辑器(text editor)。支持分片编辑(split editing)、代码补全、代码块编辑、代码折叠、文档等等。可以免费试用,但试用期过后,你只能在编辑器内使用漫画字体(Comic Sans)(我想不出更好的要升级的理由)


5.Mou

并不局限于 iOS 的开发,Mou 也是我编辑 Markdown 时的首选。它包括即时的预览和方便的 Markdown 说明文档。


6.Xcode Statistician

一个小型的 Mac 应用,可以帮你分析你的 Xcode 项目,告诉你里面你写了多少行,多少个声明,多少个字,多少个词,多少个类。拿来吹嘘时可能有用~或者也只是看看你的代码变得多么臃肿。


7.Alcatraz

一个开源的用于 Xcode 的包管理器,它可以帮你发现或者安装插件、模板、颜色主题等,而不需要你自己手动克隆复制文件。


文档

1.Docs for Xcode

在 Xcode 5 版本中,苹果公司很遗憾地移除对第三方文档的支持。文档浏览器依旧可以显示你已经安装了的文档集,但你不能更新或者添加新的文档集。Docs for Xcode 解决了这个问题。它可以安装新的文件集,订阅来源,保持文档的更新。这工具对使用 Xcode 5 的人会很有用。


2.CocoaDocs

这是一个 Objevtive-C 库文档查看站点,它是 CocoaPods 这个组织的人做的。这一系列库的数量绝对是巨大的,也支持多个版本。文档是由 appledoc 生出的,所以会和苹果官方的文档很相似。你也可以通过链接在 Xcode 和 Dash 中下载和安装。


3.Dash

一个为 Mac 设计的 API 文档浏览器和代码片段管理器。你可以在里面离线搜索包括 iOS 在内的 80 多种 API。你也可以创建你自己的文件集。它和大量的插件和资源整合在一起的。


代码

1.Binpress

一个商业开源软件的市集。Binpress 为开发者提供了一个可以用他们自己的开源项目去赚钱,把开源项目变成的专业商业行为的平台,这为完整应用的贩卖在 App Sotre 之外提供了一个候选,这和 MySQL、Redhat 是相同的模式。你也可以买一些软件放置在你的应用里面,也可以提议一个开源项目让其他开发者去开发。


2.Cocoa Cats

一个专为 Objective-C 的 categories 特性打造的站点,一个 iOS 开发时的工具。对于那些不知道的人来说,categories 是 Objective-C 的一个伟大的特性,它允许不需要继承(subclassing)就可以往一个类中增加功能,而 Cocao Cats 是一个奇妙的用户驱动的 Cocoa categories 集合。站点上列出的 categories 是用户产生的,所以在页面的底部,可以看到一个表格可以让你提交新的分类(catgory)。


网络和 API

1.Runscope

一个有用的 API 代理服务,能帮助你调试你的 API 调用。你只需要把你代码里的 API 路径和 Runscope 的交换一下,然后所有的流量(traffic)往来都可以在线上侦测到。你也可以创建一些 API 请求,保存着,然后稍后才运行。


2.Fetcher

一个 Mac 上的 HTTP 客户端,支持每个 HTTP 请求设置自定义参数、自定义的 body 和自定义的 header。当你要测试 API 和你的应用中用到的 feeds 时,这工具很有用。


地图和定位

1.Mapbox

虽然 Apple 的地图服务已经随着 iOS 6 的发布上线一年了,它仍然和它的竞争者们落后不少的距离。如果你需要在你的应用中用到地图的服务,而由不相信 Map Kit,那么 Mapbox 是一个好的候选。它们提供了一个置入式(drop-in)的 SDK。这个 SDK 是自底向上且开源的,它提供和 Map Kit 同样的功能,且支持离线地图缓存、大量的地图定制选项等等许多特性。Mapbox 已经被一些大公司采用了,例如 Foursquare 和 Pintrest。Mapbox 地图的数据是来自 OpenStreetMap 项目,所以能非常的精确和及时。在免费的套餐中,你可以每个月查看 3,000 次的地图;如果不够,也有有一些相当好的付费套餐供选择。


OpenGL 和图形

1.Glyph Designer

一个 Mac 上的位图字体(bitmap font)编辑器,能使在游戏中创造好看的字体纹理变得轻而易举。你可以根据你的 Mac 上的任何字体创建纹理,或者也可以导入任一字体文件,定制字体的颜色、阴影、斯托克斯(stokes)。它可以在命令行中使用,也支持很多包括 Cocos2D、Moai、Sparrow 和 Corona 等等的框架。


2.Particle Designer

一个 Mac 上的粒子效果编辑器,提供 48 中可配置的属性供你去在游戏中创造你想要的粒子效果。它支持很多流行的框架,包括 Cocos2D、Moai 和 Sparrow。你也可以在一个有大量粒子效果的在线库上分享你的粒子效果,或者也可以使用别人创造的粒子效果。


数据库

1.Core Data 编辑器

Core Data 编辑器能让你轻松地查看、编辑和分析应用里的数据。Core Data 编辑器兼容 Mac 和 iOS 的程序,支持 XML, SQLite 和二进制存储、可视化数据关系等等,还能编辑数据,自动为数据模型(data model)生成 Objective-C 代码。相比起直接读取 SQLite 数据库来说,方便和容易了很多。


2.SQLite 专业版

一个 Mac 上包含版本整合、过滤、导出等等功能的 SQLite 客户端。它也提供了一个只读版(read-only)的免费下载版本。

3.Base

又一个 Mac 上优秀的 SQLite 客户端,能让你创建、设计、编辑、浏览 SQLite 3 数据库文件。同时也支持数据过滤、数独导入导出和 SQL 自动补全。


调试

1.QuickRadar

一个在菜单栏上的应用,能让你更快更方便地提交 "Radar"( 苹果的 bug 提交系统),代替苹果公司自己的 Bug 提交软件。QuickRadar 会在你的 Mac 上的后台运行,提供一个快捷键让你即时打开一个窗口来输入 bug 报告。它的代码是在 BSD 协议下的,并在 GitHub 上开源了,欢迎开发者去参与开发!


2.Shake Report

一个让用户去报告 bug 的小工具。它提供的置入式(drop-in) SDK 允许用户摇一下他们的设备就可以发送一个 bug 报告了。你也可以下载一个后端的组件,然后把组件部署到服务器上,这样就可以收集很分类提交的 bug'了。


3.BuhSense

跨平台的软件崩溃报告服务(crash reporting service),支持 Android、Windows、Phone/Wdindows 8、HTML5、当然还有 iOS。它提供实时的崩溃分析(crash analytics)和应用的质量数据(quality data)以使你的客户欢心。


4.Crashlytics

轻量级移动端崩溃报告提交工具。包含一个 Mac 上的菜单栏应用,使得框架和崩溃监测变得十分简单。崩溃报告可以在网站上看到,完整的堆栈踪迹和设备数据也会呈现出来。


5.Crittercism

一个管理所有应用运行状态问题(app performance issues)的统一解决方案,包括崩溃报告、异常处理(exception handling)、响应时间(response times)、出错率(error rates)和网络/负载延迟(network/carrier latencies)。


6.Spark Inspector

其实很难描述 Spark Inspector 是什么。它仿佛是带有魔力。它是一个实时运行时的调试器,能以 3D 的形式展示应用的视图架构(view hierarchy),并允许你在运行时改变视图的属性(view properties)。它还会检测所用发出的 NSNotifications。'


7.Reveal

另一个魔法般的运行时检测器。能以 2D 或者 3D 可视化你的视图架构,允许你在运行时修改视图属性以立即得到修改后的效果。现在有免费的 beta 版。


后端服务

Objective-Cloud

不仅仅是一个 iOS 部署工具,它还有足够引起我们关注的疯狂想法。就如名字所说,Objective-Cloud 允许你在云上面运行 Objective-C。你可以在 Xcode 中开发你的 Web 应用,然后直接部署到云上。云会处理程序运行的伸缩性(scaling)。它们也提供了一个 SDK,包含一个供创建 RESTFUL Web 服务的定制 HTTP handler。价格也很实惠。


StackMob

一个非常复杂的「后端即服务」(backend-as-a-service)提供商。就如大多数提供商一样,StackMob 提供存储数据的 API, 社交网站登录,通知推送,文件存储,定制的商业逻辑代码;此外,它也提供例如地理位置 API,分析和部署管理等独有的特性。他们在一定限度内是免费的,如果你需要更多需要付费。


Kinvey

一个和 Parse 很像的后端即服务」(backend-as-a-service)提供商.就像 Parse 一样,他提供云存储、通知推送、商业逻辑定制,此外也为那些没有网站的应用提供一个别具一格的 Facebook Open Graph 实现。


Parse

Parse 使得你的应用的后端搭建变得简单。他们「后端即服务」(backend-as-a-service)提供的 SDKs 可以让你通过编写少许代码就能保存对象到云上。你可以使用他们的"Cloud Code"去添加定制商业逻辑。他们被 Facebook 收购了,所以其伸缩性也不错。

相关文章
|
1天前
|
iOS开发 开发者 容器
探索iOS开发中的SwiftUI框架
【6月更文挑战第21天】本文深入探讨了苹果在iOS开发中推出的SwiftUI框架,旨在为开发者提供一种声明式、更简洁的界面设计方法。文章首先概述了SwiftUI的核心概念和优势,接着通过一个天气预报应用实例,详细讲解了如何使用SwiftUI进行布局和用户界面的设计。此外,还讨论了SwiftUI与UIKit的差异,以及如何将SwiftUI集成到现有的项目中。最后,文章展望了SwiftUI的未来发展方向,包括潜在的改进和新特性。
|
1天前
|
Java 开发工具 Android开发
安卓与iOS开发差异解析
【6月更文挑战第21天】本文旨在深入探讨安卓和iOS两大移动操作系统在应用开发过程中的主要差异。通过对比分析,揭示各自的设计哲学、编程语言选择、用户界面构建、性能优化策略以及发布流程的异同。文章将提供开发者视角下的实用信息,帮助他们更好地理解各自平台的特点和挑战,从而做出更明智的开发决策。
|
3天前
|
Java 开发工具 Android开发
探索安卓与iOS开发的核心差异
【6月更文挑战第20天】在移动应用开发的广阔天地中,安卓和iOS两大平台各自占据半壁江山。本文将深入探讨这两大操作系统在开发过程中的主要区别,包括编程语言、开发工具、用户界面设计哲学、系统架构以及市场分布等方面。通过对这些关键差异的分析,旨在为开发者提供一份实用的指南,帮助他们在面对项目决策时,能够更加明智地选择合适的平台,并针对特定平台优化他们的应用。
|
3天前
|
开发工具 Android开发 iOS开发
探索安卓与iOS开发的差异:从工具到用户体验
【6月更文挑战第20天】在移动应用开发的广阔天地中,安卓和iOS两大平台各自占据半壁江山。本文将深入探讨这两个操作系统在开发环境、编程语言、用户界面设计以及性能优化等方面的关键差异。我们将通过比较分析,揭示各自平台的独特优势和面临的挑战,为开发者提供决策参考,并为最终用户提供更深层次的用户体验洞察。
|
5天前
|
Java Android开发 Swift
探索Android与iOS开发的差异:平台选择对项目成功的影响
【6月更文挑战第18天】在移动应用开发的广阔天地中,Android和iOS两大平台各据一方,它们在市场份额、用户群体及开发环境上各有千秋。本文将深入分析这两个操作系统的开发差异,探讨如何根据项目需求选择合适的平台,并讨论跨平台解决方案的可行性与挑战。我们将通过实际案例,揭示平台选择对项目成功的关键性影响,为开发者提供决策支持。
|
5天前
|
Swift iOS开发 开发者
探索iOS开发中的SwiftUI框架
在苹果的生态系统中,SwiftUI代表了iOS应用开发的一次重大飞跃。作为一项现代化的UI工具集,它旨在简化和加速界面设计过程,同时确保代码的清晰度与可维护性。本文将深入探讨SwiftUI的核心概念、优势以及在实际开发中的应用案例,为开发者提供全面而实用的指南。
|
6天前
|
安全 IDE Android开发
探索Android与iOS开发的差异:平台特性与编程实践
【6月更文挑战第17天】在移动应用开发的广阔天地中,Android和iOS两大平台各自占据半壁江山。它们在用户群体、系统架构以及开发环境上的差异,为开发者带来了不同的挑战和机遇。本文深入探讨了这两个平台在技术实现、界面设计、性能优化等方面的主要区别,并提供了实用的开发建议,旨在帮助开发者更好地理解各自平台的特性,从而创造出更加优秀的移动应用。
|
9天前
|
安全 Android开发 iOS开发
探索Android与iOS开发的差异:平台特性与用户体验的对比分析
在移动应用开发的广阔天地中,Android和iOS两大阵营各据一方。本文将深入探讨这两个操作系统在开发环境、编程语言、用户界面设计及市场分布等方面的主要区别。通过比较分析,我们将揭示各自平台的特有优势,并讨论如何根据目标受众和业务需求选择适合的开发平台。
|
9天前
|
iOS开发 开发者
探索iOS开发中的SwiftUI框架
【6月更文挑战第14天】本文将深入探讨iOS开发领域的新星——SwiftUI框架。我们将从其设计理念出发,逐步解析其结构与核心组件,并通过实例展示如何利用SwiftUI简化界面构建流程,提升开发效率。同时,我们也将讨论SwiftUI在现有项目中的集成策略及其对iOS应用开发未来的可能影响。
16 1
|
10天前
|
安全 Java Android开发
探索Android与iOS开发的差异与挑战
在移动应用开发的广阔天地里,Android和iOS两大平台各自占据半壁江山。本文将深入探讨这两个平台的开发环境、工具、语言以及设计理念的差异,并分析这些差异给开发者带来的挑战。我们将从多个角度出发,包括用户界面设计、性能优化、安全性考量、以及市场分布等方面,为读者提供一个全面的视角,以理解在这两个平台上进行开发时需要考虑的关键因素。