我正在iOS 7上实现苹果公司的“总一致收据”,该功能允许应用程序在本地检查应用程序的购买收据,而无需联系苹果服务器进行验证。如果用户在应用中存储了购买收据,则此功能非常有效。如果应用程序缺少收据,则最佳做法是请求应用程序刷新其收据,如下所示:
SKReceiptRefreshRequest *request = [[SKReceiptRefreshRequest alloc] init];
[request setDelegate:self];
[request start];
问题在于调用这段代码会要求用户使用他或她的苹果ID登录。我不确定是否总是发生这种情况,或者只有在用户的应用商店登录已超时时才会发生。除非确实需要,否则我不想向用户显示苹果ID登录屏幕——我不希望人们担心他们会被错误收费。我想要展示一个提示窗口,告诉用户为什么需要他们的苹果ID密码,但只有在他们确实需要输入密码时才这样做。如果他们不需要输入密码,我希望这个过程是无缝和隐藏的。如何最好地继续?我认为最好的方法是检查用户是否需要登录应用商店,但我不确定是否可能。