0

我有一个非常有趣的问题。看起来应该很容易解决,但也许我只是想多了?

简介:我想使用 IBAction 按钮而不是表格视图来激活购买。

详细的:

首先,我使用本教程作为指南。(一个很棒的教程 - 看看。谢谢你,雷!) http://www.raywenderlich.com/21081/introduction-to-in-app-purchases-in-ios-6-tutorial

  1. 如果您向下滚动到显示的位置:

    - (void)buyButtonTapped:(id)sender {
    
    UIButton *buyButton = (UIButton *)sender;
    SKProduct *product = _products[buyButton.tag];
    
    NSLog(@"Buying %@...", product.productIdentifier);
    [[RageIAPHelper sharedInstance] buyProduct:product]; }
    

这就是我卡住的地方。该示例使用表格视图,但是我不想在我的应用程序中使用其中之一。我要做的就是使用我手动创建的 IBAction 按钮。

所以我做了这个按钮,把它连接起来,让它和 NSLog 一起工作。

-(IBAction)buyProductButton:(id)sender {

    NSLog(@"Buy Something.");

}

所以我的问题是我在这个 IBAction 中放什么而不是

- (void)buyButtonTapped:(id)sender {

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

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

为了获得激活购买的按钮?

也许是这样的?

-(IBAction)buyProductButton:(id)sender {

    SKProduct *product = _products;

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

但是,是的,它不起作用。

任何想法将不胜感激。

谢谢!

4

2 回答 2

0

您没有设置正确的产品:

SKProduct *product = _products[buyButton.tag];

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

尝试使用您的产品标签,其中 buyButton.tag

于 2012-10-25T18:14:41.190 回答
0

这是我尝试过的代码并且它有效。我使用下面的代码使用按钮进行特定购买。

在 M 文件的 @interface 中创建变量 Array _products:

@interface .... (){

    NSArray *_products;

}

把它放到你的 viewDidLoad 方法中:

[[RageIAPHelper sharedInstance] requestProductsWithCompletionHandler:^(BOOL success, NSArray *products) {

        if (success) {

            _products = products;

        }
    }];

上面的代码将使用您在商店注册的产品填充“_products”。并在按钮功能中使用以下代码购买产品。

SKProduct *product = _products[0];    
[[RageIAPHelper sharedInstance] buyProduct:product];

我在“_products[0]”中使用“0”来指代商店产品。如果您有很多产品,您可以使用 _products[] 的 [] 中的相应数字来购买该特定商品。

于 2013-12-05T22:32:43.267 回答