是否可以在静态库中使用StoreKit(In App Purchase)?

时间:2011-08-24 15:40:42

标签: iphone ios cocoa in-app-purchase storekit

我正在开发一个SDK,作为静态库分发,供iOS开发人员在他们的应用程序中使用。我有兴趣通过SDK中包含的界面直接向用户提供非消费类可下载和内置内容。理想情况下,当用户在一个应用程序中从我的SDK界面购买某些东西时,它们也可以使用SDK在任何其他应用程序中使用。有没有经验丰富的StoreKit知道是否可以使用Apple的In App Purchase框架来实现这一目标?如果我在应用购买系统中推出自己的应用系统,我会违反Apple的TOS吗?

我应该补充一点,我的目标是,如果我可以帮助,我可以避免使用我自己的自定义帐户/支付基础架构。使用StoreKit会更简单,更可靠。

TL;博士

  1. 是否可以在没有应用ID的情况下使用StoreKit,或使用未部署的应用ID(看起来可能不是)?
  2. Apple是否对应用购买实施中的自定义设置了任何限制(我是否会违反TOS)?

1 个答案:

答案 0 :(得分:1)

很抱歉,但我认为你的两个问题的答案是否定的。

对于Q1:

在SDK中无法执行此操作。由于IAP需要产品ID和App Bundle id,因此这两个id都是唯一的。这意味着,如果您的某个用户在其iTunes Connect中添加了该ID,则其他人无法再次使用该ID。而且您还需要知道用户的身份。这是不可能的,因为Apple不希望开发人员这样做。

原因是您可以使用某些唯一的设备标识来识别设备,但您仍然无法识别特定用户。从iOS 5开始,获取UUID的API也将被删除,识别特定设备非常困难。

如果您正在做一些Apple不希望开发人员做的事情,我不确定会发生什么。

你唯一能做的就是:

  

让用户和开发者注册您的服务器。

     

开发人员应该告诉您他的应用程序中的内容使用了什么ID,以及他的应用程序包ID是多少。

     

用户购买您的内容后,您的SDK应使用App ID和IAP产品ID来查找内容,然后将信息保存在您的服务器上。

     

用户登录其他应用后,您的SDK应检查服务器以获取相关信息。向用户提供内容。

听起来很复杂......

第二季度:

根据Apple的审核指南,

 11. Purchasing and currencies

 11.1 Apps that unlock or enable additional features or functionality with mechanisms other than the App Store will be rejected

在App Store的应用程序中提供自己的支付系统也是不可能的。

所以,基本上你的问题的答案是......不......