如何知道用户何时触摸上一个StoreKit警报的"确定"按钮"谢谢.您的购买成功"?

Wal*_*chy 7 iphone in-app-purchase

我在游戏中集成了"In App Purchase",让用户解锁更多关卡.一切正常,但我最后一次提醒"谢谢你.你的购买成功了.[确定]".我的程序得知在最后一次警报弹出之前交易已成功完成,因此我的游戏再次开始运行 - 然后警报响起,使用户烦恼.我想等待我的游戏运行,直到用户触摸"确定"按钮,但由于它是来自StoreKit的警报,我不知道何时发生这种情况或者我是如何抓住它的.

我不想在警报下面创建另一个对话框(这次是我自己的,因此在我的控制之下),只是要求再次触摸"OK" - 这将是一个糟糕的用户体验.

有人有什么想法吗?

小智 1

1)将该 storekit 警报设置为 delegate = yourclass。

2)使用 UIAlertViewDelegate 声明你的类然后使用此方法来拦截警报:

- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
Run Code Online (Sandbox Code Playgroud)

您可以检查警报标题/消息,看看它是否是正确的警报:

if ([alertView.message isEqualToString:@"Thank you.. bla bla bla"]) {
    //something
}
Run Code Online (Sandbox Code Playgroud)