3

エラーが発生しました:

'void(^)(NSString * _ strong)'をタイプ'void(^)(NSString * _strong、NSData * __ strong)'のパラメーターに送信する互換性のないブロックポインタータイプ

MKStoreKit 4.3onCompleteの行でアプリに実装している場合:

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

2 に答える 2

5

使用しようとしているAPIには、次のようなメソッドがあります。

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

しかし、completionBlockパラメータについては、あなたは渡しています

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

NSData*これは、2番目の( )パラメーターが欠落していることを意味します。

コードを次のように変更します。

^(NSString* purchasedFeature, NSData* purchasedReceipt) {
      NSLog(@"Purchased: %@", purchasedFeature);             
      //purchaseBtn.hidden = YES;        
}
于 2012-07-21T23:57:42.797 に答える
3

新しいAPIの答え:

 [[MKStoreManager sharedManager]
 buyFeature:kFeatureAId
 onComplete:^(NSString* purchasedFeature, NSData*purchasedReceipt, NSArray* availableDownloads)
 {
       NSLog(@"Purchased: %@", purchasedFeature);
 }
 onCancelled:^
 {
     NSLog(@"User Cancelled Transaction");
 }
 ];
于 2012-09-26T09:17:22.483 に答える