我还在和MKStoreKit做斗争。
有一个名为"buyAction“的按钮,它必须启动应用程序内的购买过程。我试着按照教程的建议来实现它,但是它仍然不起作用:
- (IBAction)buyAction:(id)sender {
NSLog(@"buyFeature")
[[MKStoreManager sharedManager] buyFeature:@"PBonnet.TOEIC3.Package1"
onComplete:^(NSString* purchasedFeature, NSData*purchasedReceipt, NSArray* availableDownloads)
{ package1bought=1;
NSLog(@"success");
}
onCancelled:^
{ NSLog(@"failed purchase");
}];
}在onComplete行中,我收到了两条错误消息:“参数名称省略”和“预期表达式”。
谢谢你的帮助。
干杯
按照matt的设想,编辑onComplete行的。现在,日志显示的是"buyFeature“,但之后什么都没有。应用商店没有启动。日志显示此错误消息:
NSUbiquitousKeyValueStore error: PBonnet.TOEIC3 has no valid com.apple.developer.ubiquity-kvstore-identifier entitlement。
发布于 2014-02-06 21:30:06
查看MKStoreManager的头。下面是buyFeature:onComplete:onCancelled的声明
- (void) buyFeature:(NSString*) featureId
onComplete:(void (^)(NSString* purchasedFeature, NSData*purchasedReceipt, NSArray* availableDownloads)) completionBlock
onCancelled:(void (^)(void)) cancelBlock;所以,首先,我们看到onComplete:需要一个包含三个参数的块。但是你提供了一个没有参数的块。因此,编译器正确地抱怨您忘记了块参数。
实际上,这个问题与MKStoreKit无关。问题是您不了解C-特别是不知道块的语法。我建议阅读苹果对这一主题的解释。
https://stackoverflow.com/questions/21611068
复制相似问题