捕获[[SKPaymentQueue defaultQueue] restoreCompletedTransactions]的取消事件

Jos*_*hua 5 objective-c storekit

什么是程序员,apple发布了storekit,当用户输入他/她的电子邮件和密码时,我们甚至无法获得取消事件的任何回调

[[SKPaymentQueue defaultQueue] restoreCompletedTransactions]

.在取消购买时不要通过推送取消来解决此问题,这是在尝试恢复交易时推送取消.用户按下取消,甚至按下确定按钮都没有回拨.您收到的唯一回调是来自服务器的信息返回时指示它是否成功.不能接受的.如果有人有答案,请回答.谢谢

小智 12

试试这个:

@protocol SKPaymentTransactionObserver <NSObject>

....

@optional

// Sent when an error is encountered while adding transactions from the user's purchase history back to the queue.
- (void)paymentQueue:(SKPaymentQueue *)queue restoreCompletedTransactionsFailedWithError:(NSError *)error __OSX_AVAILABLE_STARTING(__MAC_NA,__IPHONE_3_0);


@end
Run Code Online (Sandbox Code Playgroud)

  • 如果有人想知道如何区分来自paymentQueue:restoreCompletedTransactionsFailedWithError:中的取消和连接问题,那么你应该看看error.code.我注意到,取消恢复时出现错误代码2,恢复期间出现连接问题时出现错误代码-1009.这两个错误都包含相同的本地化描述:"无法连接到iTunes Store".我不确定其他错误代码.我所做的是,如果它是代码2,则以静默方式结束请求,否则显示一般错误消息. (2认同)