-3

首先,我尝试了各种教程,但它们只展示了如何获取购买信息并将其显示为表格视图,然后让购买工作,而且这仅适用于非消耗品或一种消耗品。如上图所示,我在 XiB 中创建了它,并希望在用户点击按钮时启动消耗品购买。我不想从 iTunes Connect 获取购买信息然后显示它,因为我已经在离线显示它。

我在 iTunes Connect 中创建了 App ID 和 App,并创建了 5 个应用内购买。(如下图所示。)我希望这些按钮可以调用其中的每一个。有没有人有什么建议?

4

2 回答 2

2

我没有处理消耗品采购的经验,但我认为差别不大。我希望,您已经阅读了 Apple 应用内购买编程指南:http: //developer.apple.com/library/ios/documentation/NetworkingInternet/Conceptual/StoreKitGuide/Introduction/Introduction.html#//apple_ref/doc/ uid/TP40008267-CH1-SW1

那么,你的问题是什么?如果您需要在一个 viewController 中显示多个产品,您需要在某个地方为每个产品获取一个带有 productIdentifiers 的列表(字符串,在 iTunes 中您的应用程序中的每个产品都是唯一的)。您可以对这些 productIdentifiers 进行硬编码,或者更好的是,如果您使用的是服务器,则请求它们(因为,如果您对 productIdentifiers 进行硬编码,然后添加/删除/编辑产品并且它的 productIdentifier 更改,您需要发布一个新补丁你的应用程序)。

要显示每个产品的实际信息(价格、名称),您需要请求它。您可以通过创建 SKProductRequest(针对每个产品)并将其添加到您的 paymentQueue 来实现。你会得到价格作为回应。如果您不这样做 - 甚至不要在您的 viewController 中显示该产品,因为该产品有问题。

要离线显示产品,您可以实现一些缓存。可能看起来不错,但是如果您处于离线状态,显示“购买”按钮是否有意义?

viewController 中的每个产品可能都会有某种单元格。在这种情况下,当用户点击某些单元格时,确定使用哪个 productIdentifier 应该不是问题。

之后该怎么办?恕我直言,它在 Apple 的指南中得到了很好的描述。

如果您需要更多帮助或更具体的问题 - 请评论我的帖子或编辑您的问题。

PS 请注意:在 iOS 7 中,使用应用内购买有一些变化。无论如何,您可以在http://developer.apple.com/library/找到所有信息。

PPS检查这篇文章:https ://meta.stackexchange.com/questions/182266/how-much-research-effort-is-expected-of-stack-overflow-users/182380 。我希望你知道我的意思 :) 例如,你可以尝试在 #iphonedev @ irc.freenode.net 寻求帮助。并再次搜索和搜索。祝你好运。

于 2013-08-15T19:42:44.037 回答
1

You need to get product information via SKProductsRequest, because you need and SKPayment instance to make a purchase, and SKPayment can be created only with existing SKProduct, not just productIdentifier string.

You can use local cache to show prices to the user even when he is offline, but Apple forces you to get product info every time user tries to purchase something.

Taking product info is not a problem, anyway.

How to store a set/array of productIdentifiers? Read my previous answer.

于 2013-08-16T16:56:06.890 回答