7月 12

开始在apple app store上卖用flash做的游戏了,一路艰辛呀,还好有伟大的互联网和热心的程序员们!
主要参考了James LiFlash发布iOS应用全攻略系列文章和Lanli Chen產生可於實體 iDevice 上運行的App系列文章(blogspot需翻墙)。 还有adobe官方的两个pdf, 使用 Flex 和 Flash Builder 4.6 开发移动设备应用程序(developing_mobile_apps_flex_4.6.pdf)和使用Packager for iPhone构建ADOBEAIR应用程序(air_deviphoneapps.pdf)。前面那个看使用 Flash Builder 的 Apple iOS 开发过程部分,后面看从Apple 获取开发人员文件部分。
在这说下我认为需要注意的几个小地方,别像我一样那么悲催。
购买iOS开发者授权这个部分,其实那个提供信用卡资料的文档purchaseform.pdf,可以直接用数位板在ps里填,填完保存为jpg,可以发邮件,也可以用在线免费传真,可能现在发邮件的多了,我先发的邮件后发在线传真,传真先处理了,中国官方邮件后回复说发现我的账号已经激活了。等了几天吧。
那个传真号+1(408)862-7602,+1表示美国和加拿大,408是美国的州号,后面才是传真机号码。我用的http://www.freepopfax.com/选USA会自动加+1,后面号码就输入4088627602就行了。
填这个主要是为了扣钱,所以主要是信用卡资料那个地方按信用卡卡面填对就行了。那个信用卡地址就是你填的收账单之类信件也就是寄新卡的地址,可以打银行客服确认下。 那个Full Name就填注册用户名就行,不需要和Name on card的名字一样,我没有碰到因为用户名为hezeng pan和卡片上名字PAN HE ZENG不一样,需要身份验证的事,据说以前有人遇到,大概后来中国人多了,老外知道怎么回事了。英文的first name和last name,对于中文来说真是个坑爹的东西,其实看英文词典里中国名人的词条,都是直接写的,也没倒置。
当激活后,只有记住https://developer.apple.com/devcenter/ios/index.action就行了,进去后,我们以后主要用到右边iOS Developer Program下面的 iOS Provisioning Portal和iTunes Connect两个入口。iOS Provisioning Portal主要是管理证书和应用ID的,而iTunes Connect是管理合同,查看收入,填写应用资料,管理应用的地方。
首先进iTunes Connect的Contracts, Tax, and Banking,完成合同协议,主要是Bank Info不能填错啦,不然收不到钱啦。CNAPS Code那里开始被James Li误导用start with加招行英文名结果没找到,那个急呀,其实用默认搜索方式搜就行了。打电话确认下开户行地址。在apple给出的列表选好就行了。合同协议提交后大概过一天就生效了。
等合同生效前,可以先进iOS Provisioning Portal去注册个app id,对于app id,现在前缀Bundle Seed ID (App ID Prefix)只能用apple自动生成的了。记住app id建好后不能删除,对于有视觉洁癖的人,看到无用的数据真是那个难受呀。
所以最好先建个com.domainname.*的Bundle Identifier (App ID Suffix),对于不需要推送通知功能的应用,可以都用这个app id。
Description随便写就行了,描述下这个ID干嘛用的,都行。
Certificate只需要创建Distribution的证书就行,那个Development没用,我都是直接用ifunbox装ipa来测试的(需越狱)。还有生成Distribution的Certificate时,那个设备ID就别选了,以防出意外。
Certificate和Provisioning都在mac系统下一口气完成就可,无视windows吧,虽然有几步可以在windows下完成,但关键一步必须在mac系统下,所以还不如都在mac下。减少出错的可能性。
建议用Keychain Access(钥匙串访问)之前,先用Keychain Access急救,验证下Keychain是否正常,有无错误,有错误可以修复。
切忌切忌,所有操作一定要选中login也就是登录那项后操作,或者不要直接双击文件,而是用钥匙串的导入功能导入文件,导入选login登录项。
生成CertificateSigningRequest后,检查下登录项下面密钥里有没有多两个你刚创建CertificateSigningRequest填的名字的密钥,一个私密(Private key)一个公密(Public key)。
James Li导出p12说的含糊,Lanli Chen导出p12时,选中登录下的密钥那一项后,直接选中右边的私密导出了,也展开选子项,最后我按
Packager for iPhone文档里的将开发人员证书转换为 P12 文件里面的步骤操作的,3,在钥匙串访问中选择密钥类别。4,选择与 iPhone 开发证书相关联的私钥。该私钥由 iPhone 开发人员识别:与之配对的<名字><姓氏>公共证书。5,选择“文件”>“导出项目”。
在iTunesConnect的Manage Your Apps创建应用时,选你创建的类似com.domainname.*的Bundle ID后会让你输入具体的名字,最后生成的
这里切忌,在 flash的ios发布配置项里面填写应用id时,就是这个Bundle ID,千万别错了,不记得了,可以在App Information应用信息里面看到。flash那个appname-xml.xml打开直接修改也可以。应用名和应用ID一定要和iTunesConnect里的这个App Information里的名字和Bundle ID一致。中文应用,应用名为中文也OK。
最后到iTunesConnect的Manage Your Apps的最下面下载最新的Download Application Loader安装,打开application loader选deliver you app上传就行了。上传前最好点verify验证下,如果没问题,那就肯定没问题了。
只有在App Information进入view details里点了ready to upload binary后,才能在application loader的上传选项里看到这个应用。
我第一次用Application Loader上传,先出现Bundle ID错误,因在flash发布配置里直接用的Bundle ID里的appname而去掉了com.domainname.部分,后来又出现application failed codesign verification. the signature was invalid, contains disallowed entitlements, or it was not signed with an iphone Distribution Certificate.
没办法,把iOS Provisioning Portal里Certificate和Provisioning下的文件都revoke撤销了。全部重新操作了一遍,只前主要按James Li的文章,结果不行,这次主要按Lanli Chen的文章,特别细致条理都有截图。而且全程在mac 下完成。所有我认为需要注意的地方,我都在上面写了,这也是james li和 lanli chen里都没有细说的地方。
最后成功上传。
 
 
 

written by panhezeng \\ tags:

Leave a Reply

Me

点这和我talk,panhezeng@gmail.com