ios如何实现内部购买的方法
来源:互联网 发布:数据挖掘就业前景如何 编辑:程序博客网 时间:2024/04/29 12:12
//一、导入MKStore的包在需要触发下载的地方写一个 弹出提示框UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"网络连接异常,下载失败" message:@"请重新点击下载" delegate:self cancelButtonTitle:@"确定" otherButtonTitles:nil, nil]; [alertView show]; [alertView release]; alertView = nil; //点击确定的时候就会回调 实现代理的方法,触发buyAction 这个方法。/** 购买操作 */- (void) buyAction{NSString *pid = PRODUCT_ID; NSMutableArray * array = [NSMutableArray arrayWithCapacity:0]; [array addObject:pid]; [[MKStoreManager sharedManager] requestProductData:array];[MKStoreManager sharedManager].delegate = self;}#pragma mark MKStoreManager Delegate Method- (void)didRequestProductData:(NSArray *)skProducts {//NSLog(@"paying......0 ");if (skProducts == nil || [skProducts count] == 0) {return;}SKProduct *product = [skProducts objectAtIndex:0]; NSLog(@"product is %@",product);SKPayment *pay = [SKPayment paymentWithProductIdentifier:[product productIdentifier]];[[SKPaymentQueue defaultQueue] addPayment:pay];//NSLog(@"paying......");}/** 验证AppStore数据信息 */- (void)finishedTransactionWithState:(TransactionState)state { NSString *message = nil; //提示信息 switch (state) { case TransactionPurchasing: message = [NSString stringWithString: @"支付操作进行中...!"]; break; case TransactionCompleted: message = [NSString stringWithString: @"支付成功...!"]; NSUserDefaults * ud = [NSUserDefaults standardUserDefaults]; [ud setObject:@"1" forKey:@"isbuy"]; break; case TransactionRestored: message = [NSString stringWithString: @"恢复支付操作!"]; break; case TransactionFailed: message = [NSString stringWithString: @"支付失败!"]; break; default: break; }//[Utils alertWithTitle: @"支付" message: message];}- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex{ if(buttonIndex == 1){ [self buyAction]; }}