PFPurchase致命异常:NSInternalInconsistencyException:“您不能购买正在购买的产品”

Rik*_*rey 1 ios parse-platform

当用户点击两次购买Iap确认按钮时,使用以下方法分析CRASHES:

Fatal Exception: NSInternalInconsistencyException

"You cannot purchase a product that is in the process of being purchased"

PFPurchase.m line 108
Run Code Online (Sandbox Code Playgroud)

真的要由应用程序来阻止这种情况吗?

[解析1.4.1]

Rya*_*ger 5

是的,防止这种情况确实是您的责任。

尝试BOOL pfPurchaseInProgress设置初始为NO 的帮助程序类,然后在进行购买时更改它。像这样:

typedef void (^ CompletionBlock)();

(void)buyProduct:(NSString *)productID withCompletionBlock:(CompletionBlock)block 
{ 
    if (!self.pfPurchaseInProgress) {
      self.pfPurchaseInProgress = YES;
      [PFPurchase buyProduct:productID block:^(NSError *error) {
          self.pfPurchaseInProgress = NO;
          if (!error) {
              block();
          }
      }];
    } 
}
Run Code Online (Sandbox Code Playgroud)