在使用IBAction / Button进行App购买

时间:2012-10-25 16:37:39

标签: ios iphone in-app-purchase ibaction

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

简介: 我想使用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]; }
    
  2. 这是我陷入困境的地方。该示例使用表视图,但我不想在我的应用程序中使用其中一个。我想要做的就是使用我手动创建的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]; }
    

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

    任何想法都会非常重要。非常感谢。

    谢谢!

2 个答案:

答案 0 :(得分:0)

您没有设置正确的产品:

SKProduct *product = _products[buyButton.tag];

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

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

答案 1 :(得分: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];

我用过" 0" in" _products [0]"参考商店产品..如果您有许多产品,您可以使用_products []的[]中的相应数字来购买该特定商品。