我正在将StoreKit编程到我的iPhone应用程序中。 在按下按钮购买物品之前或之后,我似乎无法拦截购买物品对话框等待时间。 我想要的是在购买对话框出现之前和之后,但在购买的商品被解锁之前屏幕上的指示器。 我不希望我的用户被挂在屏幕上,不知道他们的购买是否通过。
另外,如果我没有显示商店,只有一个可预测的商品,我是否需要requestProductData?任何使等待时间尽可能少的事情都会很好。
最后一件事: 在 - (void)paymentQueue:(SKPaymentQueue *)队列updatedTransactions:(NSArray *)Transactions方法,如果我显示一个alertView,如果案例SKPaymentTransactionStateFailed:已经完成,我会继续多次通话,即使购买已完成一次。
谢谢!
请尽可能帮助您(只是尝试学习我的iPhone编程)。
答案 0 :(得分:4)
关于处理缓慢延伸期间活动视图的第一个问题。
您可以拦截付款队列中的“SKPaymentTransactionStatePurchasing状态”以建立带有活动指标的警报视图。完成处理后,在已购买,已恢复和失败状态下关闭视图.StoreKit生成的AlertViews将使此一个人在整个过程中消失并重新出现。
case SKPaymentTransactionStatePurchasing:
purchaseActivityIndicator = [[UIAlertView alloc] initWithTitle:@"Processing purchase" message:@"Please wait..." delegate:self cancelButtonTitle:nil otherButtonTitles:nil,nil];
UIActivityIndicatorView *activity = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhiteLarge];
[activity setFrame:CGRectMake(121.0f, 80.0f, 36.0f, 36.0f)];
[purchaseActivityIndicator addSubview:activity];
[activity startAnimating];
[activity release];
[purchaseActivityIndicator show];
[purchaseActivityIndicator release];
break;
对于第二个问题,我在应用启动时启动了商店商品的加载,以便在用户到达商店时准备就绪。由于它们加载异步,因此在用户进入商店视图时应该就绪了。
在最后一个问题上不确定。
史蒂夫