ios - 苹果应用内购买。如何拉取可用的产品?

标签 ios objective-c

我有一个类,我建议用户购买应用内购买。如果用户点击“购买”,我正在尝试启动购买过程。但我不确定从哪里可以得到他们应该购买的产品对象。

我有这样的方法:

- (IBAction)makePurchase:(id)sender
{    
    [[PlanIAPHelper sharedInstance] buyProduct:product];
}

但是我在哪里以及如何拉出产品对象?

最佳答案

您必须获取应用内购买商店标识符。您可以:

  • 在您的应用程序中硬编码它们
  • 从网络上某处的文件中加载它们

  • 您无法使用 StoreKit 框架加载它们,因此您必须在某个时候查看 iTunes Connect。

    使用商店标识符,您可以创建 SKProductsRequest .
    SKProductsRequest* request = [[SKProductsRequest alloc] initWithProductIdentifiers:identifiers];
    request.delegate = self;
    [request start];
    

    然后,您可以在委托(delegate)对象中处理响应:
    - (void)productsRequest:(SKProductsRequest *)request didReceiveResponse:(SKProductsResponse *)response
    {
        NSArray * skProducts = response.products;
    
        for (SKProduct * skProduct in skProducts)
        {
            NSLog(@"Found product: %@ %@ %0.2f",
                  skProduct.productIdentifier,
                  skProduct.localizedTitle,
                  skProduct.price.floatValue);
    
           [[PlanIAPHelper sharedInstance] buyProduct:skProduct];
        }
    }
    

    真的很难说PlanIAPHelper在这种情况下确实如此,但是可以提取产品的代码肯定不存在。

    以下链接将帮助您了解应用内购买在 iOS 上的运作方式:
  • http://www.raywenderlich.com/21081/introduction-to-in-app-purchases-in-ios-6-tutorial
  • https://developer.apple.com/in-app-purchase/
  • https://developer.apple.com/library/ios/technotes/tn2259/_index.html
  • 关于ios - 苹果应用内购买。如何拉取可用的产品?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25041277/

    相关文章:

    objective-c - 相对于屏幕区域的 subview 位置

    ios - 具有设备密码功能的 Touch Id 实现

    objective-c - 从 CIImage 创建 CVPixelBufferRef 以写入文件

    ios - 在 Testflight 中成功测试后如何发布 Apple 应用程序的更新?

    ios - xcode Ad-Hoc 导出失败,返回 "Communication Failed"

    ios - 使用 OCMockito 验证方法调用

    ios - 需要按钮多次重复相同的功能

    ios - UITableView 设置为静态单元格。是否可以以编程方式隐藏某些单元格?

    objective-c - 使 NSImageView 和 NSBox 使用相同的拖放实现

    objective-c - 根据 NSTimer 更新 UILabel