• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

ios - 发布后近一周内应用内购买仍然无法正常工作

[复制链接]
菜鸟教程小白 发表于 2022-12-12 18:26:53 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

在测试期间,应用内购买似乎运作良好,但在发布后就停止了。在我按下“升级”按钮后,它会询问我的密码,然后什么也没有。甚至没有错误消息。

我浏览了 StackOverflow 一段时间,发现了这些问题:

In app purchase does not work when live

In App Purchase not working after it has been approved

我以为我只需要等待,但没有人等待超过 48 小时。对我来说,发布后已经过去了 120 小时。所以我认为这可能与我的代码有关。

我的算法是基于 Ray Wenderlich 的教程 http://www.raywenderlich.com/21081/introduction-to-in-app-purchases-in-ios-6-tutorial

首先,在 `applicationDidFinishLaunchingWithOptions: 在我的应用委托(delegate)中

// In app
[myGuideIAP sharedInstance]; //initialize singleton
[[myGuideIAP sharedInstance] tryLoadingProduct]; //my method to load SKProduct
//SKProduct is stored as a @property in the singleton

稍后,在升级 View Controller 中,我检查,如果它没有加载产品,则再次执行 tryloadingProduct

单例初始化的经典方式:

+ (myGuideIAP *)sharedInstance {
    static dispatch_once_t once;
    static myGuideIAP * sharedInstance;
    dispatch_once(&once, ^{
        NSSet * productIdentifiers = [NSSet setWithObjects:
                                      @"com.mkochukov.myguidemind.proupgrade",
                                      nil];
        sharedInstance = [[self alloc] initWithProductIdentifiers:productIdentifiers];
    });
    return sharedInstance;
}

这是 tryLoadingProduct 方法内部的内容:

- (void)tryLoadingProduct
{
    [[myGuideIAP sharedInstance] requestProductsWithCompletionHandler:^(BOOL success, NSArray *products)
     {
        if (success) {
            if (products.count > 0)
                _mProduct = products[0];

        }
    }];
}

当用户尝试购买时,会出现一个警告 View ,要求购买或恢复。就是这样处理的

-(void)alertViewUIAlertView *)alertView willDismissWithButtonIndexNSInteger)buttonIndex
{
    if (buttonIndex == alertView.cancelButtonIndex)
        return;
    if (buttonIndex == 0) {
         [[myGuideIAP sharedInstance] buyProduct:[myGuideIAP sharedInstance].mProduct];
    }else if (buttonIndex == 1){
        [[myGuideIAP sharedInstance]restoreCompletedTransactions];
    }
}

然后,当用户点击“购买”按钮时,它会执行:

- (void)buyProductSKProduct *)product {

    NSLog(@"Buying %@...", product.productIdentifier);

    SKPayment * payment = [SKPayment paymentWithProduct:product];
    [[SKPaymentQueue defaultQueue] addPayment:payment];

}



Best Answer-推荐答案


听起来像是权利问题,请确保已设置。

enter image description here

关于ios - 发布后近一周内应用内购买仍然无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21509564/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap