1

我现在正在处理应用内购买,但即使我找到了教程,我也有一个问题。在本教程中,购买按钮与这样的方法相关联:

- (void)buyButtonTapped:(id)sender {

UIButton *buyButton = (UIButton *)sender;
SKProduct *product = _products[buyButton.tag];

NSLog(@"Buying %@...", product.productIdentifier);
[[RageIAPHelper sharedInstance] buyProduct:product];

}

但是在我的应用程序中,我不想使用一些表格视图来展示产品;我已经创建了一些带有海关图像的 UIButtons。

我尝试一些这样的代码:

-(void)BuyPackage1
{
SKProduct * productPackage1;
NSString * productID = @"com.razeware.inapprage.drummerrage";   //ID of the tutorial
productPackage1.productIdentifier = productID;
[[RageIAPHelper sharedInstance] buyProduct:productPackage1];
}

但它给了我:“分配给只读属性”

而且,这是创建应用内购买的好方法吗?我的意思是,只需获取所有这些代码(来自教程)并将其调整到包含 UIButtons 而不是这样的表格视图的界面吗?

4

2 回答 2

1

看,

“分配给只读属性” 确实,`SKProduct productIdentifier 属性是只读的,因此您不能对其执行写操作。

关于你的 2 个问题首先考虑你的要求你想在你的应用程序中做什么考虑它然后尝试根据你在你不想显示的问题中告诉的要求编写代码TableView。教程只是给出理解如何编写新事物或如何改进现有事物。所以你应该在教程中看到他们过去购买的方式。

InApp Purchases在我的代码中使用之前,我想告诉你我的经验。我真的对此感到恐惧,但是阅读了参考指南,然后开始阅读相同的教程。学到了很多关于InApp Purchase。所以我要对你说,阅读参考指南,这是关于应用内购买 的,然后尝试查看InApp类似的教程。

于 2013-05-04T19:29:21.167 回答
1

事实上,SKProduct productIdentifier财产是readonly来源):

产品标识符

向 Apple App Store 标识产品的字符串。(只读)

 @property(nonatomic, readonly) NSString *productIdentifier

您应该检查您的教程并更好地了解对象如何SKProduct作为对象的一部分返回SKProductsResponse。然后您应该找到一种方法将您的按钮与这些对象相关联。

而且,这是创建应用内购买的好方法吗?我的意思是,只需获取所有这些代码(来自教程)并将其调整到包含 UIButtons 而不是这样的表格视图的界面吗?

我认为没关系,但你应该:

  1. 正确理解教程在做什么以及为什么;

  2. 正确调整教程以适应您的情况。

您当然不需要表格来列出您的可购买物品。

无论如何,我最好的建议是使用MKStoreKit,一个允许您在 3 行代码中处理所有应用内购买用具的框架。

于 2013-05-04T17:56:27.927 回答