2013-03-04 107 views
0

我试图在应用程序购买中的iPhone中实现我的应用程序。SKProduct productIdentifier发送到实例的无法识别的选择器

我有一个按钮的IBAction为买一个小游戏:

-(IBAction) buyGame:(id)sender { 

    SKProduct *product = [[InAppGameIAHelper sharedHelper].products objectAtIndex:0]; 

    NSLog(@"Buying %@...", product.productIdentifier); 

    [[InAppGameIAHelper sharedHelper] buyProductIdentifier:product.productIdentifier]; 
    self.hud = [MBProgressHUD showHUDAddedTo:self.navigationController.view animated:YES]; 
    _hud.labelText = @"Buying..."; 

    [self performSelector:@selector(timeout:) withObject:nil afterDelay:60*5]; 
} 

[InAppGameIAHelper sharedHelper]允许从商店加载项,并加载产品列表。

[InAppGameIAHelper sharedHelper]。产品是一个的NSArray:

products (
    "com.me.myapp" 
) 

有当我敲击购买按钮我的应用程序得到坠毁,得到以下错误:

2013-03-04 20:24:50.314 isam[11922:c07] -[__NSCFConstantString productIdentifier]: unrecognized selector sent to instance 0x22ae30 
2013-03-04 20:24:50.318 isam[11922:c07] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSCFConstantString productIdentifier]: unrecognized selector sent to instance 0x22ae30' 

回答

0

SKProduct *product = [[InAppGameIAHelper sharedHelper].products objectAtIndex:0];线实际上返回你一个SKProduct

我的猜测是你的代码崩溃之前,它可以打印NSLog因为你的方法正在返回某种NSString

+0

是的,你是对的,[[InAppGameIAHelper sharedHelper] .products objectAtIndex:0]是一个__NSCFConstantString。我不知道如何在SKProduct中进行转换。 – cmii 2013-03-05 18:52:42

+0

嗯狡猾。你做了你的帮手的代码吗?因为基本上你必须修改该代码 – 2013-03-05 22:46:19

+0

嘿,如果你可以选择这个答案作为正确的答案,它会帮助我很多。谢谢。 – 2013-03-06 15:19:30

相关问题