我在我的应用程序中实现了应用内购买。我需要在我的应用程序中使用应用内购买购买产品。为此,我将我的产品 app_id 添加到我的 iTunes 空调中。
这是我的代码参考,
代码:
视图控制器.m
NSMutableArray *featuredappidArray;
- (void)viewDidLoad
{
[super viewDidLoad];
featuredappidArray=[[NSMutableArray alloc]init];
}
-(void)parseRecentPosts:(NSString*)responseString
{
NSString *app_store_id = [NSString stringWithFormat:@"%@",[post objectForKey:@"app_store_id"]];
NSLog(@"Recent Post app_store_id: %@",app_store_id);
[featuredappidArray addObject:app_store_id];
indexvalue=ndx;
}
- (void)buttonTapped:(UIButton *)sender
{
[detailview Receivedappidurl:featuredappidArray idx:indexvalue];
}
DetailViewController.h
-(void)Receivedappidurl:(NSMutableArray*)recentappidArray idx:(int)index;
细节视图控制器.m
NSMutableArray *appidArray;
-(void)Receivedappidurl:(NSMutableArray*)recentappidArray idx:(int)index
{
NSLog(@"recentappidArray:%@",recentappidArray);
appidArray=recentappidArray;
}
现在我的控制台窗口从我的 Web 服务接收所有 app_id。
我在我的项目中添加了应用内购买所需的类,例如 IAPHelper、InAppRageIAPHelper、MBProgressHUD、Reachability 类。
-(IBAction)purchaseButton
{
NSLog(@"appidarray:%@",appidArray);
NSLog(@"pdt index:%d",productIndex);
NSLog(@"APPLe indentifier:%@",[[appidArray objectAtIndex: productIndex] objectForKey: @"app_store_id"]);
[InAppRageIAPHelper sharedHelper].productIndex = productIndex;
[[InAppRageIAPHelper sharedHelper] buyProductIdentifier:[[appidArray objectAtIndex: productIndex] objectForKey: @"app_store_id"]];
self.hud = [MBProgressHUD showHUDAddedTo:self.navigationController.view animated:YES];
_hud.labelText = @"Buying Book...";
[self performSelector:@selector(timeout:) withObject:nil afterDelay:60*5];
}
在这里,当我点击购买按钮时,我的应用程序崩溃并出现以下错误,“由于未捕获的异常 'NSInvalidArgumentException' 而终止应用程序,原因:'-[__NSCFString objectForKey:]: unrecognized selector sent to instance 0x9154ad0'”
我参考了很多教程。如何使用这个购买?请帮我解决这个问题。任何帮助将不胜感激。提前致谢。