【问题标题】:UIAlertView enter Apple ID and Password IAPUIAlertView 输入 Apple ID 和密码 IAP
【发布时间】:2012-07-22 22:06:06
【问题描述】:

当我开始测试我的 IAP 时,系统会要求我提供 Apple ID 和密码。有一个带有确定和取消按钮的警报视图。

我需要处理这个按钮,因为当我按下取消按钮时,我需要在应用程序中进行一些操作。

非常重要:有一个自动对话框而不是购买提醒。我需要知道如何在应用程序中处理此操作(例如,如果用户点击取消按钮并在此自动对话框消失后)

【问题讨论】:

    标签: ios in-app-purchase uialertview


    【解决方案1】:

    如果您只看到授权提醒,而不是购买提醒,则表示您正在尝试恢复购买。

    如果用户点击授权对话框上的取消按钮,则调用此委托方法:

    - (void)paymentQueue:(SKPaymentQueue *)queue restoreCompletedTransactionsFailedWithError:(NSError *)error;
    

    【讨论】:

    • tnx 回复,但我的意思不是关于购买警报,而是关于要求我的 Apple ID 和密码的警报
    • 这就是我要说的。 “请求您的 Apple ID 和密码的提醒”不是购买提醒。这是恢复对话框。
    • 这对我来说效果很好,但是您必须在 restoreCompletedTransactionsFailedWithError 中实施任何特定的“清理”吗?
    【解决方案2】:

    您必须在 failedTransaction 委托消息中处理这种情况:

    - (void)failedTransaction:(SKPaymentTransaction *)transaction
    {
        if (transaction.error.code != SKErrorPaymentCancelled)
        {
            // error!
        }
        else
        {
            // this is fine, the user just cancelled
            [[SKPaymentQueue defaultQueue] finishTransaction:transaction];
        }
    }
    

    【讨论】:

    • 谢谢,但是有源不要取消自动对话框(警报视图)。它取消购买
    • 正如我上面写的。我需要处理对话授权
    • 您的示例显示了如何处理事务,但在我的情况下,这只是必须处理在应用程序中请求苹果 ID 和密码的对话框
    • 在指南中“SKPaymentQueue - 支付队列用于与 App Store 通信。当支付被添加到队列中时,Store Kit 将请求传输到 App Store。Store Kit 显示对话框来询问用户授权付款。完成的交易将返回给您的应用程序的观察者。因此,对话框中的取消由 -failedTransaction:(SKPaymentTransaction *)transaction 委托处理。
    猜你喜欢
    • 1970-01-01
    • 2014-04-08
    • 1970-01-01
    • 2019-02-26
    • 1970-01-01
    • 2018-06-30
    • 1970-01-01
    • 2013-05-04
    • 1970-01-01
    相关资源
    最近更新 更多