iOS StoreKit-模拟不完整和中断的应用程序内购买

iOS StoreKit-模拟不完整和中断的应用程序内购买,ios,iphone,testing,sandbox,storekit,Ios,Iphone,Testing,Sandbox,Storekit,我对一个不完整的购买被错误处理的实时应用程序有一个问题。我正在尝试测试我的新代码,以确保这将得到解决,因此我下载live app,引发问题,然后加载我的开发应用程序(或临时应用程序),希望StoreKit Observer能够捕获不完整的购买通知。无论我怎么做(开发或临时),观察者都不会发出通知 我的一般问题是:如何在应用商店测试环境中模拟不完整和中断的购买 我更具体的问题是:我可以模拟用户必须离开应用程序才能在应用程序商店上确认其当前信用卡pin码的特定问题吗?对于您的一般问题: SKPaym

我对一个不完整的购买被错误处理的实时应用程序有一个问题。我正在尝试测试我的新代码,以确保这将得到解决,因此我下载live app,引发问题,然后加载我的开发应用程序(或临时应用程序),希望StoreKit Observer能够捕获不完整的购买通知。无论我怎么做(开发或临时),观察者都不会发出通知

我的一般问题是:如何在应用商店测试环境中模拟不完整和中断的购买


我更具体的问题是:我可以模拟用户必须离开应用程序才能在应用程序商店上确认其当前信用卡pin码的特定问题吗?

对于您的一般问题:

SKPaymentTransaction
提供了几种事务状态,如
skpaymenttransactionstatefiled
根据,您可以检查
error
属性以查看发生了什么。 例如,您可以在
-(void)paymentQueue:(SKPaymentQueue*)updatedTransactions:(NSArray*)事务中签入它

-(void)paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray *)transactions{
    for (SKPaymentTransaction * transaction in transactions) {
        switch (transaction.transactionState)
        {
            case SKPaymentTransactionStateFailed:
                ...
                break;
            default:
                break;
        }
    };
}
希望这有帮助。

根据:

测试中断的事务

在事务队列观察器中设置断点 paymentQueue:updatedTransactions:方法,以便您可以控制 交付产品。然后在测试中像往常一样购买 环境,并使用断点临时忽略 例如,通过立即从方法返回 在LLDB中使用threadreturn命令。终止并重新启动您的 应用程序。Store Kit调用paymentQueue:updatedTransactions:方法 发射后不久再次发射;这一次,让你的应用程序正常响应。 验证您的应用程序是否正确交付产品并完成 交易


希望这对某人有所帮助。

对不起,让我澄清一下:如何模拟失败和中断的事务?