1

アプリにアプリ内購入を実装しようとしています。タイプは非消耗品です。製品のリクエストは、正しいタイトル、説明、価格で問題なく返されます。しかし、クリックして購入すると、alertViewを開いて「confirm .... Environment:Sandbox」と表示し、confirmをクリックすると、ユーザーテストからのパスワードを要求するアップルボックスが表示されます。しかし、表示されず、トランザクションが失敗しました。メッセージエラーなし...私のアプリはまだAppStoreにありませんが、ItunesConnectのアプリ内購入製品のステータスは[送信準備完了]です。正しいですか?

これが私のコードです:(長いコードで申し訳ありませんが、私の質問にとって関連性があり重要であることを意味します)

 - (void)productsRequest:(SKProductsRequest *)request didReceiveResponse:(SKProductsResponse *)response
 {
NSArray *products = response.products;
proUpgradeProduct = [products count] == 1 ? [[products firstObject] retain] : nil;
if (proUpgradeProduct)
{
    NSLog(@"Product title: %@" , proUpgradeProduct.localizedTitle);
    NSLog(@"Product description: %@" , proUpgradeProduct.localizedDescription);
    NSLog(@"Product price: %@" , proUpgradeProduct.price);
    NSLog(@"Product id: %@" , proUpgradeProduct.productIdentifier);

    //        lblTitulo.text = proUpgradeProduct.productIdentifier;
    //        lblDescricao.text = proUpgradeProduct.localizedDescription;

}

for (NSString *invalidProductId in response.invalidProductIdentifiers)
{
    NSLog(@"Invalid product id: %@" , invalidProductId);
}

// finally release the reqest we alloc/init’ed in requestProUpgradeProductData
[productsRequest release];

[[NSNotificationCenter defaultCenter] postNotificationName:kInAppPurchaseManagerProductsFetchedNotification object:self userInfo:nil];
}
- (void)requestProUpgradeProductData
{
NSSet *productIdentifiers = [NSSet setWithObject:@"versaopro" ];
productsRequest = [[SKProductsRequest alloc] initWithProductIdentifiers:productIdentifiers];
productsRequest.delegate = self;
[productsRequest start];

// we will release the request object in the delegate callback
 }
 - (void)loadStore
{
// restarts any purchases if they were interrupted last time the app was open
[[SKPaymentQueue defaultQueue] addTransactionObserver:self];

// get the product description (defined in early sections)
[self requestProUpgradeProductData];
}

    - (void)purchaseProUpgrade
 {
SKPayment *payment = [SKPayment paymentWithProduct:proUpgradeProduct];
[[SKPaymentQueue defaultQueue] addPayment:payment];
   }



-(IBAction) buyClick: (id) sender {
[self purchaseProUpgrade];
  }
4

0 に答える 0