app store申请
app store为开发者提供四种类型的申请:
- 个人ios开发者计划$99/年
- 公司ios开发者计划$99/年
- 企业ios开发者计划$299/年
- 高校ios开发者计划免费
在这里主要介绍一下公司ios开发者计划,只有利用个人和公司ios开发者计划证书开发的应用,才能上app store。企业开发者计划主要是为本公司开发软件,并安装到本公司的硬件设备上,不能上app store。下面主要介绍一下公司ios开发者计划的申请.
申请帐号:
- 打开连接:http://developer.apple.com/programs/which-program/
- 选择公司ios开发者计划
3.单击“Enroll Now”
4.点击continue
5.这时候问询你是否有苹果帐号。
7.问询:你要注册个人还是公司账户
个人:如果不需要在你的团队添加其他开发者那么可以以个人身份注册账户。在你上传应用到App Store上时,“销售者”一栏将会显示你的名字
注意:
例如:
- l注册为个人账户需要:为身份认证儿提供的信用卡信息
公司:若要在你的团队里添加开发者就注册公司账号。在你上传应用到App Store上时,“销售者”一栏将会显示你公司的名称
注意:
- 开发团队:可以在团队内添加开发者,可以共享项目资源
- App Store的发布:在你上传应用到App Store上时,“销售者”一栏将会显示你公司的名称
- 代表公司注册账户需要:
8.完善个人资料
- 注:申请Apple ID的时候,First Name与Last Name,要填写个人资料,不要填公司名,一定要填写正确
Personal Information
First Name: San
Last Name: Li
Email Address:你的邮箱
Company / Organization:公司英文名称
Country:国家
Street Address: 地址
City/Town:所在城市
State:所在省
Postal Code:邮编
Phone: 电话,格式为:86-20-电话号码 - 完善个人资料(勾选部分)(根据个人需要勾选)
你要在哪个苹果平台上开发?选择全部要申请的平台。
中英对照表
英文 中文 英文 中文 英文 中文
Business 商务 Medical 医疗 Reference 参考
Education 教育 Music 音乐 SocialNetwork 社交网络
Entertainment 娱乐 Navigation 导航 Sports 体育
Finance 金融 News 新闻 Travel 旅行
Games 游戏 Photography 摄影 Utilities 实用程序
Health&Fitness 医疗健康 Productivity 生产 Weather 天气
Lifestyle 生活方式
如果你为高校注册请勾选此框
你计划开发哪类或哪几类iOS应用?选择全部你准备开发的应用
(请参见中英对照表)
请选择你的应用的基本类型
你已经从事Apple平台应用开发多少年了?
New to Apple platforms 新的Apple平台开发者
< 1 year 小于一年
1 to 3 years 一到三年
3 to 5 years 三到五年
5+ years 五年以上
Yes 是的
No 不是
你开发过以下哪种移动平台?
AndroidBREWSymbianBlackBerryPalmWindows MobileOther
注册苹果开发者协议
勾选确认接受协议
9.注册好ID之后,会收到邮件(Thank you for registering as an Apple Developer),告知你的Enrollment ID,登你注册后的Apple ID。
10、将您邮件中圈出的认证码部分的数字输入下图填空处
11.此时,在您注册使用的邮箱中会收到一封信,下图红框处的名称即是您的Apple ID
注:Legal Entity Name一定要填写你所要注册的公司的英文名称,不要填写个人名称
- 输入公司合法实体名称
- 选择合法实体类型
Contact Information
Website: 公司网址
Country:国家
Street Address:地址
City/Town:城市
State/Province:省份
Select State
Postal Code:邮编
Phone:电话
提供公司合法的联系方式,若申请人有权代表公司,直接选择第二项
注:
First Name,Last Name,一定要填写公司注册宫业执照上的法人名称,
Title:职称,我填的是CEO,
Phone:可以填写你自己办公室总机号码。(注册的过程中,我填写的都是填的总机号码,同一个号码)
Email:填写法人本人邮箱,这个无所谓,能用的邮箱就行
13.选择你的项目
提交后页面跳转.
14.浏览你的注册信息,若信息无误即可提交
15.提交后,邮箱会收到一封邮件,其中包含你的注册信息。注册成功。
app store付费
上面已经介绍了app store id的注册了,下面在注册基础上,介绍一下app store的付费。
在上面注册成功之后,会收到一封邮件。
1.收到邮件Thank You for Submitting Your Enrollment
Dear ****,
Thank you for your interest in the iOS Developer Program. Your enrollment request has been received and is being processed.
For your reference, below is a summary of your enrollment request:
Enrollment ID:
Program:
iOS Developer Program
Company:
Name:
Email:
注:以上Enrollmenu ID,一定要记住。
2.然后会有一个review的过程,大概一两天会有邮件(iOS Developer Program Enrollment )给你上传公司营业执照复印件与公司英文名称证明说明。
iOS Developer Program Enrollment
Please include the line below in follow-up emails for this request.
Follow-up:
您好!
这里是苹果开发者支持。
请将贵公司的营业证明资料
-《企业法人营业执照》及盖有公司公章的证明贵公司英文名称的文件
传真至:+1-408-974-7683
请在需要传送的文件中注明:
- 您申请我们产品时获得的注册号码 Enrollment ID: SN7DJEDB5T
- Follow-up number: 142888923
- 贵公司的总机号码
感谢您的协助.
Best regards,
Ken Wu
Apple Developer Support
注:以上的Follow-up: 一切要记住,后续打电话给苹果中国要查询跟踪进度。
3.传真到+1-408-974-7683,将营业执照复印件,盖上自己公司公章,然后再打印一份,公司英文名称证明,加盖公章,我的格式如下:
Enrollment ID:
Follow-up number:
Company Phone number:
关于公司英文名称的证明
兹证明______公司中文名称__________英文名称为_____公司英文名称______
2011-3-11
This is to certify that the company’s English name is ______公司英文名称________
2011-3-11
注:
- .营业执照上,与名称证明表上一定都要写上Enrollment ID和Follow-up number
- 然后记得将公司营业执照与英文名称证明扫描一份文件出来,将两者压缩发送邮件附件到chinadev<chinadev@asia.apple.com>
苹果工作人员:
您好!
我们公司申请了iOS Developer Program,
Enrollment ID:
Follow-up number:
现已将公司资料传真至+1-408-974-7683,麻烦你们帮忙协助办理一下,谢谢。
4.然后打个电话给苹果中国4006 701 855(Mon-Fri, 09:00-17:00 SGT),说你们已将资料传真过去,然后还发了附件到chinadev,告诉他们你的Follow-up number,让他们查找一下是否收到了邮件,然后他们就会很快帮忙处理
你也就很快会收到邮件:
Please include the line below in follow-up emails for this request.
Follow-up:
Re: iOS Developer Program
您好,
谢谢您连络苹果开发人员支援部门。
我们收到了您的文件。
请了解我们正在处理您的申请中。如果有关于您注册新的资讯我们将会通知您。
希望这讯息对您有帮助。再次谢谢您参与苹果开发人员计画。
Best regards,
(注:不打电话,只能干等着)
5.收到邮件Apple Developer Program Enrollment Update
Apple Developer Program Enrollment Update
Dear RuJie Zhang,
You can now continue the Apple Developer Program enrollment process by reviewing and agreeing to the Program License Agreement. You must click through this agreement in order to purchase or complete your enrollment in an Apple Developer Program(s).
If you need further assistance, please contact us.
Best regards,
Apple Developer Support
点击 Program License Agreement,继续申请过程。
注:还是要不停的打苹果中国的电话,催他们帮忙处理,不然又要等好几天(态度要好点哈。嘿嘿)
6、收到付款邮件,然后登陆Apple ID,下载purchase form.pdf,记录Program:
iOS Developer Program US$99/year
Enrollment ID:
Person ID:
Full Name:
Email:
Phone:
用Photoshop打开purchase form.pdf,进行编辑
第一项:选iOS Developer Program Standard USD$99*
第二项:Enter your accept information:填写以上记录的Program资料
第三项:Enter your billing information:填写你本人的信用卡信息,
信用卡类型,Credit card number:信用卡号,Expiration date:有效期,CVV/CVC2 Code:卡后三位
Name on card:信用卡账号人名称:填写拼音,必须与信用卡一致.
注:以上必须与信用卡一致.
第四项:Cardholder Signature:先不填,填完其它资料后打印出来,这个签名,手写中文签名
第五项:填写你的邮箱
7.将签名后purchase form扫描传真,然后发送一份附件到chinadev,并打电话给苹果中国告知你已传真purchase form过去,让他们帮忙快速处理一下。
8.扣费成功后,就能用了。。
注:传真或邮件,还有电话最好在周五前。。因为苹果中国,周末休息,会耽误两天时间。。
app store权限管理
在这里主要介绍一下app store的权限,开发可以分为四个权限:Admin Legal、Admin、Member、No Access。下面详细介绍一下这四个权限:
- Admin Legal权限,超级管理员。可以管理开发者和管理app store中的应用。
- Admin权限,管理员,可以管理开发者。添加测试机子和管理团队证书。
- Member权限,是普通开发者。只能下载证书和使用证书
- No Access权限,没有相应的权限。
可以添加app store的用户管理。
可以添加itunes 管理用户,也可以天界test 用户。
- itunes管理用户,可以管理应用。
- test用户,是测试内部支付的测试用户。
应用上架的流程和操作步骤
下面主要介绍一下,上架应用相关流程和相关的操作步骤:
2.点击管理"Manage Your Applications"
3.点击添加新应用
4.如果是第一次添加应用,而且没有添加过证书。需要添加证书。
添加证书:
- 登录http://developer.apple.com/membercenter/index.action
- 点击iOS Provisioning Portal
- 证书
- 下载电脑证书,如果没有Distribution证书,要先制作Distribution证书,然后下载。
- 接下来是创建应用的app ids。这个id是唯一的,是上传应用的id。
- 创建Distribution Provisioning Profiles,上传应用时使用。
- 创建完之后,下载就ok了。
5.创建应用,添加应用名字和选择相应的app id。
6、选择价格。我这里选择免费的。
7.添加app 内容
- Version Number 版本号
- Description 应用描述信息
- Primary Category 分类
- Secondary Category (optional) 次分类
- Keywords 搜索的关键字 多个关键字,应用多个逗号隔开
- Copyright 版权所有
- Contact Email Address 邮件联系地址
- Support URL 公司url
- App URL (optional) app的url 可以不填写
- Review Notes (optional) 可以不填,如果应用需要登录,要在这里写上用于测试的用户名和密码。如果应用不能给苹果审核,需要相应的硬件,可以在这里提供产品视频的url。
- 上传相应的产品icon和屏幕截屏
8.点击上传应用
9.选择上传的应用是否加密二进制文件
10、选择继续
11、状态变为:Status Waiting For Upload
12.利用xcode上传应用
注意:
- 如果上传的应用是5.0以下的版本,需要用xcode 4.0上传
- 上传的是5.0版本以上的版本,需要用xcode 4.2上传
- 上传的应用icon要72*72像素的
13.填写相应的app id
14.选择相应的Distribution Provisioning
15.编辑,运行。
16.选择xcode的product的Archive
17.选择提交应用
18.添加用户名和密码
19.选择等待上传的应用和相应的app 证书。
20.点击下一步,完了上传应用。
21、上传完就ok了。
应用内支付(In-App Purchase)
IAP简介
IAP的全称是In-App Purchase,应用内付费。这种业务模式允许用户免费下载试用,对应用内提供的商品选择消费,比如购买游戏道具,购买游戏等级等等。相比完全收费的应用而言,应用内付费给用户试用的机会,不会让优秀的应用因为缺乏用户的认知而丧失消费者;而且对于开发商,也不需要为了让用户试用而单独发布一款免费的精简版本。
下面详细介绍一下应用内支付的详细步骤:
2.点击添加一个新的应用
4.选择相应的类型
IAP里有两个关键的词,商品(Product)和交易(Transaction)。
商品可以是一种虚拟的道具,一个隐藏的关卡或者地图,但必须是直观的,可以让用户购买后直接获益的产品。IAP的商品从消费性质上分为四种:
- 消耗型商品,比如游戏道具,子弹,药品等等。由于这类商品可以被消耗,所以支持重复购买。苹果应用商店不保存此类商品的购买记录,如果要保存则需要开发者同步到自己的服务器上。
- 非消耗型商品,比如游戏关卡,隐藏地图等等。这类商品只要购买一次便可以了,苹果应用商店里每一个用户对非消耗型商品的购买都有记录,可以在不同的设备上恢复购买状态,这个恢复的过程叫做Restore。
- 自动重置型订阅,比如电子杂志,读物等。消费者购买这类商品时会从列表中选择一个有效期限,卖家在定义商品的时候从一群固定的选项中选择添加一个有效期,比如7天,一个月,两个月。过了有效期之后,商品的购买状态会被自动重置成未购买,要想继续获得内容则需要再次订阅。这种类型的商品和非消耗型商品一样,会在苹果商店内保存购买记录。
- 非自动重置型订阅,比如用户订阅电子杂志和读物报刊时需要从自定义的期限列表中选择期限,而不是苹果提供的固定选项,比如9天,一个半月或任意时间。在这种情况下,苹果商店无法根据期限来控制订阅的到期行为,所以一切都需要开发商自己编写相应的逻辑来实现。
交易是指用户对一个商品的购买行为,当用户点击购买一件商品时,一个新的付费行为就被添加到付费队列中,付费队列是一条系统线程,即使应用程序终止仍然会继续执行。
5.添加相应的应用信息
- Reference Name 应用名字
- Product ID 应用的id
- 添加语言和支付的名字
- 添加相应的价格
- 添加相应的图片
- 点击保存
6.测试IAP的准备流程
如果你是一个注册的苹果开发者,接受了最新的苹果开发者协议,并且签署了iOS付费应用合同,那么你就可以继续IAP的测试了。
- 使用未越狱的设备
- 苹果应用商店是一个交易环境,任何用户可以在这个环境内购买应用,但如果要测试正在开发过程中的应用内付费,我们不能在真正的苹果商店里进行。苹果给开发者提供了一个用于调试购买行为的测试沙箱,它完全复制了应用商店的交易环境,但在沙箱环境中我们不能用平常的苹果帐号,而是需要用测试帐号。
在iTunesConnect的首页可以点击Manage Users进入用户管理页面,然后选择Test User来创建测试帐号。根据苹果开发者的最新谢意,创建测试帐号必须使用一个真实的Email地址,而且密码必须是符合规范的,测试账号需要在邮件里激活后才可以使用。这里创建的帐号可以用来购买开发过程中的应用内付费,但必须记住,测试帐号不能用来登陆真正的应用商店并在产品环境中进行购买行为,否则你的iTunes帐号将有可能被停用。
7、实现ios开发
测试代码:http://easymorse-iphone.googlecode.com/svn/trunk/PurchaseTest/
- 在App Delegate中添加Observer
[[ECPurchase shared] addTransactionObserver];- .设置ECPurchase的product delegate(产品列表代理),transaction delegate(购买结果代理),验证方式
[[ECPurchase shared] setProductDelegate:self];
[[ECPurchase shared] setTransactionDelegate:self];
[[ECPurchase shared] setVerifyRecepitMode:ECVerifyRecepitModeiPhone];- .请求商品列表
[[ECPurchase shared] requestProductData:identifiers];- 实现代理函数绘制UI
-(void)didReceivedProducts:(NSArray *)products;- .购买商品
[[ECPurchase shared] addPayment:proIdentifier];- .确认结果
如果不需要收据认证实现代理函数
-(void)didFailedTransaction:(NSString *)proIdentifier;
-(void)didRestoreTransaction:(NSString *)proIdentifier;
-(void)didCompleteTransaction:(NSString *)proIdentifier;
否则实现代理函数
-(void)didCompleteTransactionAndVerifySucceed:(NSString *)proIdentifier;
-(void)didCompleteTransactionAndVerifyFailed:(NSString *)proIdentifier withError:(NSString *)error;
运行内部支付demo,点击测试:
内部支付的逻辑:
- iOS App 向 Developer Server 发送请求,获得一份产品列表(一般都是 Product ID)。
获取产品列表需要 iOS App 主动获得,这样就可以在不升级iOS的情况下添加产品。 - Developer Server 返回给 iOS App 包含 Product ID 的列表。
- iOS App 向 App Store 发送请求,期望获得到产品的信息。
- App Store 返回本地化产品信息。
所谓本地化的产品信息指的是会根据目前所在的地区返回所在地区的描述信息。
比如在中国地区,如果该产品有中文的描述,返回中文的描述,
而如果你在美国,则返回的是英文的描述。 - iOS App 把返回的产品信息显示给用户(iOS App 的 Store 界面)
这个就是商店界面了,包括,在前面请求希望获得产品信息的时候的等待界面。 - 用户选择某个产品。
- iOS App 向 App Store 发送支付请求。
- App Store 处理支付请求并返回交易完成信息。
- iOS App从返回交易完成的信息中获得数据,并发送至 Developer Server。
- Developer Server 记录数据,并进行审查。
App Store Server 对于消耗型的商品,是不会保存购买记录的,所以需要 Developer 同步记录到 Developer Server 上。
App Store Server 对于非消耗性的商品,在 App Store Server 是有记录可以查询的,可以通过 Restore 的方法恢复。
而恢复的交易信息是新的,但是包含原始的交易信息。
因此用户试图购买已经买过的非消耗性的商品时,iOS App 收到一个常规的交易信息,而不是恢复的交易信息,
只不过用户不会被再次付费。因此程序应该把这类交易和原始的交易同等对待。
其他订阅型的暂时没有测试。
Developer Server 这边需要做逻辑的严格审查,看是否合理。 - Developer Server 将数据发给 App Store来验证该交易的有效性。
- App Store对收到的数据进行解析,返回该数据和说明其是否有效的标识。
App Store 有效性的验证地址会根据是测试还是实际购买有所不同
测试:也称为Sandbox环境 https://sandbox.itunes.apple.com/verifyReceipt
实际:https://buy.itunes.apple.com/verfyReceipt - Developer Server 读取返回的数据,确定用户购买的内容。
- Developer Server 将购买的内容传递给 iOS App。
- iOS App 根据购买最早的结果进行处理。
In App Purchase的注意点
1.确保你所用来创建Profile的Apple ID启用了In App Purchase功能。
2.确保你的Apple ID的identifier中没有*。
3.确保你的bundle ID和你的Apple ID的identifier一致。
4.确保你的product ID是唯一的。
5.确保你在应用程序中所请求的product ID与你在iTunes Connect里添加的一致。
6.确保你勾选了Clear for Sale。
7.在测试的时候你可能需要等待你的商品添加入Apple的测试沙盒,这个过程可能需要几个小时。
8.在你第一次上传应用程序的时候,确保勾选了需要绑定至该应用程序的商品列表。
9.确保你是在SDK3.0以上编写的。
内部支付参考:http://troybrant.net/blog/2010/01/in-app-purchases-a-full-walkthrough/
http://wangjun.easymorse.com/?p=1375