编译MKStoreKit中的错误

XII*_*III 3 iphone xcode objective-c ios mkstorekit

我收到一个错误:

不兼容的块指针类型将'void(^)(NSString*_ strong)'发送到'void(^)类型的参数(NSString* _strong,NSData*__ strong)'

当我MKStoreKit 4.3在我的应用程序中实现onComplete时:

-(IBAction)purchaseFull {
    [[MKStoreManager sharedManager] buyFeature:@"productID"
                                onComplete:^(NSString* purchasedFeature)
    {
         NSLog(@"Purchased: %@", purchasedFeature);
         //purchaseBtn.hidden = YES;
    }
    onCancelled:^
    {
        NSLog(@"User Cancelled Transaction");
    }];
}
Run Code Online (Sandbox Code Playgroud)

Nat*_*ate 5

您尝试使用API有这样的方法:

// use this method to invoke a purchase
- (void) buyFeature: (NSString*) featureId         
         onComplete: (void (^)(NSString* purchasedFeature, 
                               NSData* purchasedReceipt)) completionBlock
        onCancelled: (void (^)(void)) cancelBlock;
Run Code Online (Sandbox Code Playgroud)

但是,对于completionBlock参数,你正在通过

^(NSString* purchasedFeature) {
      NSLog(@"Purchased: %@", purchasedFeature);             
      //purchaseBtn.hidden = YES;        
}
Run Code Online (Sandbox Code Playgroud)

这意味着你缺少second(NSData*)参数.

将您的代码更改为以下内容:

^(NSString* purchasedFeature, NSData* purchasedReceipt) {
      NSLog(@"Purchased: %@", purchasedFeature);             
      //purchaseBtn.hidden = YES;        
}
Run Code Online (Sandbox Code Playgroud)