繁体   English   中英

应用内购买是否对拥有iOS Beta版的用户有效?

[英]Should in-app purchases work for users that have an iOS beta?

我在应用商店中有一个应用,并且已确认我的应用内购买适用于最新的正式版本。 但是,我的某些应用程序用户很狡猾,他们拥有未发布的iOS版本。 我的应用程序内购买是否仍适用于beta iOS版本? 因为可能至少有两个用户报告他们的应用内购买未标记为正确购买。

如果您需要详细信息,当我的应用将商品标记为已购买时,下载的内容就很少。 它只是在docs目录中写入一个文件,并给他们无限次播放的机会。

更新:

我在苹果开发者论坛上读到

“商店商品流程”是在尝试购买“应用内购买”商品时采取的过程,以使商店商品确定用户的商店商品帐户存在问题-例如,当信用卡信息已过期。 当检测到此问题时,将为用户提供将其带到App Store应用程序以更新其帐户信息的选项。 过去,当检测到问题时,StoreKit会警告用户并要求他们在App Store应用程序中解决问题。 从iOS 7开始,只有在尝试收取实际费用(无论是请求下载应用程序还是用户尝试进行应用程序内购买)时,此检查才会困扰用户。

因此,我认为我的代码可能早已完成交易。 我认为这是我的相关代码,带有我的怀疑。 有人可以仔细检查或澄清吗?

- (void)failedTransaction:(SKPaymentTransaction *)transaction  //Working
{
    //NSLog(@"failedTransaction.");
    if (transaction.error.code != SKErrorPaymentCancelled)
    {
        // error!
        NSLog(@"Transaction error: %@", transaction.error.localizedDescription);
        [self finishTransaction:transaction wasSuccessful:NO]; //TODO: Remove this, it may be causing the bug with transaction errors in Multi Path Audio 1.1.4
    }
    else
    {
        //NSLog(@"failedTransaction, user just cancelled.");
        // this is fine, the user just cancelled
        [[SKPaymentQueue defaultQueue] finishTransaction:transaction];
    }
}

仅当您将商品交付给用户时,您才绝对必须致电finishTransaction。 动作顺序是:苹果公司取走用户的钱。 您交付货物。 您调用finishTransaction。 如果您不交付货物,那很好,Apple会记住并再次询问您, 直到您致电finishTransaction为止 如果您在未交付时调用finishTransaction,则是在欺骗客户。

如果用户与商店的互动在没有用户交钱的情况下结束,则不会告诉您有关购买的信息。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM