用传真机试过N次,又用faxzero试过N次以后,全部都提示失败。但是,世事如此难料,今天凌晨收到了信用卡境外消费99美元的短信提醒,早上起来信箱里就已经收到了激活码,点击链接就激活了自己的开发者账号。也不知道是哪一次传真发成功了。
登录开发者中心,右侧有个Portal的链接,点击进去就是自己账号的管理中心,初次进入有个向导,可以帮你创建一个开发者证书。最好是下载它的完整的向导说明书,是一个PDF,7M多,步骤还是挺详细的。但是这本手册在网上没有见过中文版的说明,所以在这里简单介绍一下。
这个开发者中心的用户权限分三种类型:Agent,Admin,Developer。Agent拥有完整的管理权限,Admin也可以管理用户和证书,Developer只能管理自己的证书和设备。只有Agent有上传软件到App Store的权利。(但是我没有看到添加其它用户的功能,可能需要299美元的账号类型才会有,我自己的账号登录进来就是个Agent了)。
对于个人开发者,你需要完成以下几个过程:
申请一个Development证书 > 设置你的IPhone手机 > 创建一个App ID > 创建并下载安装一个Development Provisioning Profile。经过这几步,你写的程序就可以跑在自己的手机上了(否则只能在虚拟机里面运行)。
然后申请一个Distribution证书 > 创建并安装一个Distribution Provisioning Profile > 编译你的程序 > 就可以发布到App Store了。
下面详细介绍一下:(不知道有没有必要,毕竟买了证书的人都可以下载到这篇很简单的英文文档),所有的介绍以中文版的Mac OS X的菜单和程序名为准
开发者证书安装步骤:
打开应用程序中的“钥匙串访问”,在菜单里点击“证书助理”下面的“从证书代理请求证书”,注意下面不要选中任何行,否则菜单会变。输入自己的注册Email,常用名称可以写详细一点,比如“Unfish Dev Key”,下面选中“存储到磁盘”,点继续,可能会出现未知错误,多试几次就OK了。然后在浏览器中进入开发者中心的Certificaties导航页面,在Development页面中最下面选择刚才创建的证书文件,点上传。然后证书就会显示出来,还要再点一下后面的Approve按钮,页面刷新后这个证书就可以下载了。下来是个cer文件,双击会自动导入,导入类型选择“登录”就可以。
然后是添加自己的手机设备到xcode。把手机连到电脑上,在xcode的windows菜单下打开Organizer,左边的devices下面会列出你的手机,右边的Identifier项就是你的手机的udid,复制下来,待会要用。如果这个手机还没有设置过作为开发机,这个界面上应该会有两个按钮,点一下就可以把它设为开发机,在xcode里点Build and go的时候就可以自动的安装你的程序到手机上,不需要通过ITunes了。在开发者中心的左边Devices导航页里点Add Device,起个自己认识的名字,把udid粘贴进去就可以了。(这一步只是开发证书有用,发布证书是不需要这个东西的。)
然后需要创建一个App ID,在开发者中心的App IDs导航页创建一个新的App ID,这个App ID需要跟程序的info.plist里面定义的程序Identifier相对应,如果这里只输入一个*,那么info.plist那里写什么都可以,建议用*。
然后进入开发者中心的Provisioning菜单,在Development页面创建一个新的Provisioning,需要选择所使用的证书,App ID,和对应的设备,生成以后下载这个provisioning文件,把下载下来的文件拖到Dock上的Xcode的图标上就会自动安装进去。然后退出xcode重新打开,打开你的项目,打开Project菜单下面的Edit Project Settings,进入Build页面,找到下面的Code Signing Identity,把Any iPhone OS Device项后面选中你的开发者证书,然后就可以把项目的编译目标设为Device(而不是模拟器),试一下Build and Go了。程序应该会编译完并自动安装到你的手机上,并自动启动了。
发布证书安装步骤:
再使用钥匙串访问里面的“从证书代理请求证书”功能,输入自己的Email,名称要写购买证书时登录的公司名或者个人名,下面选中“保存到磁盘”和“让我自己选择私钥”,下一步,把证书保存下来。
进入开发者中心Certificates里面的Distribution页面,选择刚才保存的文件上传,然后Approve一下,下载这个证书,双击导入,类型选登录。
进入开心者中心Provisioning里面的Distribution页面,添加新的Provisioning,类型选App Store,(如果选了Ad Hoc,就只有你添加过udid的手机才能安装这个程序了),证书应该是自动出现的,App ID选好,创建完成,下载这个文件,拖到xcode的图标上安装完成。退出xcode再重新打开,否则加载不了你刚刚添加的那个证书,会出现Provisioning无效的提示。
然后打开你的项目,进入“Edit Project Settings”,进入Configuration页面,选中Release点击下面的Duplicate,复制一个新的配置项出来,命名为Distribution。然后进入Build页面,顶上的Configuration下拉框选中Distribution,下面的Code Signing Identity里面的Any iPhone OS Device后面对应的值选中你的那个Distribution的证书。然后就可以编译程序了。
如果你之前按照类似这个教程http://www.weiphone.com/thread-222380-1-3.html 自己生成过证书并且改过Project Settings和info.plist,需要把这两个地方改回去,否则编译的时候会出现一个warning,CodeSign warning: provisioning is not applicable for product type ‘Application‘ in SDK ‘Device – iPhone OS 2.2′。删掉Project Setting里面的PROVISIONING_PROFILE_ALLOWED = NO和PROVISIONING_PROFILE_REQUIRED = NO,以及info.plist的SignerIdentity,再编译,应该就不会出错了。
程序发布到应用程序商店的步骤:
在开发者中心的Distribution导航里面的App Store页面,在下面的App Store下面的Learn More展开,就可以看到Go to iTunes Connect的链接。进入以后点击Manage My Application,就可以添加自己的程序了。
需要选择程序的语言,国家,介绍等等基本信息,然后下一步上传程序和其它图片。这个地方上传的程序,就是把你的项目编译以后生成的那个.app的目录直接压缩成zip上传,(这个.app目录里面的任何文件都不可以更改,否则签名就不对了)。你需要准备一张512×512的png图片作为大Logo,还需要准备5张程序运行的界面截图,在这个页面上挨个选Choose file,再点击upload file,出现对号就没问题了。然后选择程序的价格,默认有很多可以选,free是免费,1是0.99美元,2是1.99美元,诸如此类。如果非免费程序,你还得准备一份购买协议。
再点下一步,就可以等待程序审核了。
感觉似乎很复杂,不过只要按教程上的步骤一步一步的做,肯定是没有问题的。
iPhone程序开发新人FAQ
Q:学习开发iPhone程序难吗,多久能学会?
A:这取决于你的编程底子,如果真的对程序一窍不通,连什么叫程序,过程,函数,循环,变量,类,对象统统不知道的话,可能需要花个半年,如果你对其他语言尤其是VB,VC或者C#已经很熟了,那就很简单了。
Q:开发iPhone程序需要什么软硬件条件?
A:需要一台Mac(在普通电脑上装Mac也可以,有很多网站和文章专门研究这个,但是我不负责教这个,我的前一篇文章讲的那个虚拟机也是可以的,但是能不能在你的电脑上跑起来就不保证了),一部iPhone或者iTouch用来调试。有钱就买贵的,没钱就买便宜的。现在二手Touch只要七八百。不要再问能不能在Windows下开发了,没有意义的问题。
Q:需要学什么呢?
A:iPhone的开发工具是sdk,登录http://developer.apple.com/iphone/就可以免费下载最新的SDK,目前分两个版本,分别对应mac osx 10.5和10.6也就是snow leopard。sdk的核心是xcode,它是个像visual studio一样的开发工具,它所使用的语言主要是objective-c,同时支持编译c和c++文件,你在项目里是可以混用这三种语言的。
Q:有没有什么好书介绍?
A:本人最推崇的是《iPhone开发基础教程》,对应的英文版名字是Beginning iPhone Development Exploring the iPhone SDK。注意,本书只适合开发应用,游戏部分涉及很少。而且你最好有不错的编程基础来看这本书。另一本是《iPhone开发秘籍》,对应的英文版是The iPhone Developer’s Cookbook。前面一本适合入门,后面一本适合做参考书,随时拿出来查阅某些功能的写法。另外还有开发工具带的API文档,官方的详细的入门教程(几乎每个类都有相应的教程和可以参考的项目源代码,不过这个是需要付钱以后才能看的),最后还有google,大部分问题都可以在国内外的论坛上找到答案。
Q:为什么要买证书?什么时候应该买?应该买哪个?
A:官方的证书有三种,$99的个人版,$99的公司版,$299的大企业版。第三个不是用于普通开发者的,不必关心。大部分个人开发者应该用第一个,如果你有自己的小团队,需要多人一起开发,可以买第二个,需要提供公司营业执照的复印件,其它注册跟第一个差不多。
如果你不买证书,你的开发工具编译出来的程序只能在iPhone模拟器里跑,不能安装到真机上跑。以前有破解方法,自从sdk3.0这个破解已经很困难了。所以如果你预计自己学习语言之类的还需要半年,那就先别买,因为这99美元只能用一年,你先浪费上半年就没必要了。等你的程序已经写的差不多,模拟器里都调试的没问题了,需要装上真机的时候再买。注册过程很简单,跟着向导走,最后一步国内用户需要下载它的pdf表格打印出来,填上信用卡信息和签名传真到美国去。传真可以用faxzero.com这个网站,用数码相机把文件拍下来做成word就可以发,免费的。一般三四天就可以拿到激活码,再登录前面那个开发者中心激活账号就可以下载自己的证书来使用了。
Q:iPhone开发赚钱吗?
A:是的,苹果已经宣扬了很多的通过App Store暴富的神话,国内也有ifighter和139.me这样的神话存在,不过世间万物基本上都遵循二八法则,永远只有20%的成功者,不过通常只要你的态度是认真的,精心做出一个有用的或者好玩的东西,凭借App Store超过20亿的下载量,收回成本应该是很简单的。80%的人平分20%的钱,另外20%的人平分那80%的钱。就看你能成为哪一个了。
Q:有问题去哪里可以问?
A:我确实有两个QQ群,但是如果你有问题就跑到群里去问,虽然可能能够在最短时间内得到答案,但是你不会得到成长,最有效的方法是问google,搜索的过程你但可以学会以后怎样搜索最快,还可以找到哪个论坛解决的问题最多,还可以看到同样的问题可能的多种解决方法以及该问题产生的根本原因,知其所以然,随着搜索次数的增多,以后你解决未知问题的能力会越来越强,那么,容易解决的问题,也就不叫问题了。
Q:开发什么东西比较赚钱?
A:目前来看,游戏成功的机会要比应用大一些。App Store的超过10万个软件中,游戏占了75%以上。不过好的游戏需要各方面都好,创意,玩法,美工,音乐,总之排名能够进前十的游戏,一定是很精致的游戏,有良好的资源配合,做出优秀的东西,只需要一点点运气就可以成功。