IAP(程序内购买): 完全攻略
第一印象觉得In-App Purchase(简称IAP)非常简单。Apple提供的大量文档应该让开发者很快熟悉地熟悉。那么,为什么在你的应用中集成IAP特性就如此令人生厌呢?
这是因为在开发过程中不可避免会出现一些错误。而但这些错误发生的时候,你就抓瞎了。虽然Apple提供了有关IAP的大量文档,但他们并未提及集成IAP的详细步骤。而且对StoreKit集成过程中出现的问题也没有一个核对清单。另外对于为什么诸如产品ID非法之类的问题也没有提供NSError之类的对象来告诉你原因。
在试用了各种可能的解决方案后,你只能身心疲惫,彷徨无助。
为了提高你的效率和减少你的痛苦,我觉定利用此文来介绍一下实现IAP的详细步骤。本文很详细,有点长。甚至可能太长了,但不像Apple的文档,它提供了为实现IAP的每一个步骤。
废话少说,我们直入主题吧。
概况
IAP能正常工作的秘诀:分成两个步骤:
- 创建及提取产品描述
- 购买产 品
第一个步骤是你可能遇到问题的部分。一旦你在代码中成功地获取了产品描述,编写购买产品的代码不过是小菜一碟。
我们先看看步骤1。
创建及提取产品描述
下面是有关创建产品及提取其描述的非常粗略的步骤:
- 创建唯一的App ID
- 生成及安装新的provisioning profile文件
- 在Xcode中更新 bundle ID 及 code signing profile
- 如果还没做的话,请在iTunes Connect中提交有关你程序的 metadata
- 如果还没做的话,请在iTunes Connect中提交你程序的二进制码
- 为IAP添加新产品
- 编写提取产品描述的代码
- 等待几小时
提取产品描述的代码非常简单,但其他步骤则很容易错。
注意: 为提取产品描述,你并不需要在iTunes Connect中创建IAP测试用户。
1. 创建唯一的App ID
为支持IAP,你的App ID不能包括通配符(“*”)。为确定你的App Id是否包括通配符,请登录http://developer.apple.com/iphone,在 iPhone Developer Program Portal中选择左边菜单中的 “App IDs”检查你的 App ID。
下面是一个唯一的App ID:
7DW89RZKLY.com.runmonster.runmonsterfree
下面不是一个唯一的 App ID:
7DW89RZKLY.com.runmonster.*
如果你还没有一个唯一的App ID,按如下步骤创建一个:
- 在developer portal中的 App IDs 部分,选择“New App ID”
- 填写下列信息:
- Display name(显示名): 选取一个不同的App ID的名称。你不能编辑或删除旧的App ID,所以你必须为你的App ID提供一个新名称以避免混淆。
- Prefix(前缀): 生成一个新的前缀,或者如果你的程序是通过Keychain Services API分享数据的系列程序中之一的话,则选用已存在的前缀。
- Suffix(后缀): com.companyname.appname (这是通用格式 – 注意没有使用通配符)。
- 按 “Save”
- 按 App ID旁的“Configure” 链接
- 选取 “Enable In App Purchase”选择框
- 按“Done”
2. 创建一个新的Provisioning Profile文件
在创建了新的App ID后,你需要生成一个指向这个App ID的新provisioning profile。
下面就是令人痛苦的生成和安装新provisioning profile的详细步骤:
- 在 iPhone Developer Portal中, 选择左边的Provisioning部分
- 确保你处于Development 标签下, 按下右上角的 “New Profile”
- 填入所需信息并指向你刚创建的唯一的App ID
- 如果你在Actions条目下看到 “Pending”,那么请按下“Development”标签标题进行刷新
- 点击 “Download” 下载新的profile文件
- 将profile文件拖入到Dock中Xcode图标上进行安装
- 如果你想在硬盘上保存provisioning profile,那么你可以按如下步骤手工安装profile:
- 在Xcode中, 选择 Window > Organizer
- 选择左边 “Provisioning Profiles” 分类
- Ctrl-按下profile > Reveal in Finder
- 将新profile拖入到 profile Finder
相关新闻>>
- 发表评论
-
- 最新评论 更多>>