如何开发第一款iPhone App 写给新进者

本文主要新手开发者谈一些问题,文中列出了开发iPhone app需要注意的一些事,以及在开发过程中遇见的问题,内容有点多,也不可能一下子把开发的方方面面都呈现出来,所以如果你要有点耐心,我会尽快更新。

内容简介

所需设备和技能
App开发业务
一个伟大的创意
配置iOS SDK开发工具
利用Xcode开发第一个iOS程序
设计你的iPhone App icon、默认屏幕以及必要的代码实体
使用storyboard构建iPhone app用户界面
使用Core Data构建app的数据模型
连接iPhone app的用户界面和数据模型

你需要的设备和技能
创意和设备
Idea (Priceless)
Mac ($1000)
Xcode (free)
Internet ($20/month)
所需技能Objective-C Programming
iOS SDK Tools
Cocoa-Touch Frameworks
Design
Marketing
开发过程需要多种技能和编程技巧,这个系列的文章主要教你如何获得这些技能,所以你不必因为什么都不懂而失望。还有,尽快加入苹果的开发者计划($99/year)

了解独立开发者iPhone App开发业务
每个app开发者都希望自己的努力能获得金钱上的回报,希望能用时间和金钱能换来一个机会。当然,不排除有些人只是因为兴趣才做这个。我也觉得做app开发,或者做一个独立开发者是一件非常酷的事情,有助于个人的成长和发展,但是总归有个底线吧,我们来谈谈钱的问题。

App Store里的财富传奇
我们经常能听到和iTunes App Store有关的财富传奇,你要看看iPhone商店里Top 100的成功应用,它们每天数以千计的下载量给开发商带来了不少收入。也有很多知名的应用被大公司收购,这也是开发者不错的归宿,比如被Facebook收购的Instagram,你也可以从谷歌中搜索到更多App Store造就的财富故事。

这些故事常常刺激着我们的神经,但我们应该知道巨大的成功只是极少数的,仅有1%的开发者能获得巨大的成功。

坦白说,你有多大机会成为1%当中的一份子呢?机会不再是Instagram和Angry Birds,作为一个创业者,要有一些疯狂的精神。

每个月,我都会到不同的城市对软件开发者进行培训,教他们如何开发iPhone app。表面上,他们都说一些自己会紧跟技术的潮流,说他们自己的工作需要新技术或者其他一些听起来非常安全的话。

少数人会说他们正打算使用新技术做一些事,或者做一些值得在Mashable这样的流行科技博客上引起讨论的事情。

也就是说,很多人用一个周末来学习iOS开发,他们的目的是在业余时间做一款没有风险,但能带来很多收入的app,以此来改变自己当前的生活状态。但是这种心态很难让你获得巨大的成功,我也有过这种经历。即便这种心态能带来一定成功,但只能是暂时的,你也可能获得不少收入,但是长期来说,你还得维护和更细app,添加一些新内容或者关卡,或者你还得再次开发新的app来支撑你的生活。刚开始的时候,我只做了一款简单的app,它为我带来了不少的收入,帮助我支付开发者的薪水。

不过,我不得不维持对app的更新,后来,随着销量的降低,我发现我得不停地开发app,我总共做了13款app。也有独立开发者做了25-50款app来维持正常运营。

底线是你得有一个小一点的成功的例子,不然你会陷入捉襟见肘的境地,你将来还是需要继续工作,但是某一天我会说那是一份非常令人兴奋和激动的工作。

折中一下,做一款app要多少钱?
这是我们又一次谈到钱的问题,这里没有一个可靠的方法来评估app日后的营收。很多人谈到营收问题的时候都采取了折中的态度。我谈论的是那些以较小风险,较短时间开发面向特定用户的app开发者。
我也采用了这种方法,我一般花两个月时间开发一款app,成本从没有超过为500美元(时间除外),app平均年收入大概是6700美元。大概一个月后,这类app开发成本就能收回了,但是每个月的收入仍不能支付账单,每款app都需要维护和更新。如果你打算多雇佣一个开发者,收支就很难平衡了。不过,让app多平台化可以增加一些收入。

The Big Idea
每款iPhone app最初都是源自一个创意,作为一个iOS开发者,你会被成群的创意环绕,而身边的人也会不断给你带来下一个伟大的创意。既然你来到了这里,你肯定也是有一个非常不错的创意,下边我们就聊聊这个主题。
我从两方面考虑创意:The Big Problem 和the App Idea。

The Big Problem
这是一个比较宽泛的概念,日常生活中,不管是令人鼓舞的还是令人恼怒的事情都是大事。人们可能因为这些事情使用你的app,你的app也是一个帮用户解决问题的渠道,比如与其他人联系,管理个人信息,做到与众不同以及体验文化、娱乐等内容。

你对用户关心的Big Problem了解的越深,你的创意就会更成熟。有时候我们做一款app是因为出现一个新的、可用的API,而不是想要解决用户的关心的问题。

顺便说下: Big Problems算是商业领域的问题,不是你的app idea。

App Idea
理想情况下,您的app idea是对Big Problem的阐述。你的app可能是问题解决系统中的一部分,包括网站,个人互动,甚至市场营销等方面的内容。现在你能做哪些事情来解决用户的Big Problem?

这个问题应该由你的app来回答,虽然我们一直在说解决Big Problem,但你的app无需一定要成为一款伟大的app,你的创意也不必是最好的。
即时通讯改变了人们相互联系的感觉,但仅仅是解决了一个技术性的问题(给朋友留言)--改善了我们彼此联系时的感觉。

你的iPhone app可以以优雅的方式来解决小问题,从而弱化大问题。用3句话描述你想解决的Big Problem,不一定非得是严肃的问题,但必须是Big Problem。

配置iOS SDK开发工具
说了这么多,我们也得做点实际的。假设你知道从哪里开始你的iOS app,或者你仅仅是想玩一玩,不要太担心没有一个稳定的不变的创意。在开发过程中,很多影响因素都在变化,开发过程也会是一个迭代开发的过程。开发软件常常是一个昂贵的、迭代的过程,你需要不断重复直到打造出一款完美的产品。

配置iOS SDK开发工具,你需要:
搭载较新Intel处理器的Mac
Xcode

这是最基本的,不少人会问“必须是Mac吗?”--肯定,必须。

Xcode是一款免费的软件,你可以从Mac App Store中免费下载。我假定你运行的是Mac OSX 10.7,但你应该确定能从Mac App Store获得任何版本的OS X。
 
要获取xcode,点击Mac菜单栏上的Apple图标,选中App Store...菜单项,启动App Store,这些都非常简单。选择App Store > Categories,选择Developer Tools,你就可以看到Xcode点击按钮,显示免费下载,然后安装Xcode。进入App文件夹,点击Xcode icon.