我們正在開發一個應用程序(當然)在應用程序購買(IAP)中使用。 我已經做了所有的指導,使iap和一切工作正常,直到我想購買。
某些代碼:在應用程序購買沙箱不會提示我的登錄/通
MainViewController.m
-(void)viewDidLoad {
if ([SKPaymentQueue canMakePayments]) {
MyStoreObserver *observer = [[MyStoreObserver alloc] init];
[[SKPaymentQueue defaultQueue] addTransactionObserver:observer];
SKProductsRequest *request= [[SKProductsRequest alloc] initWithProductIdentifiers: [NSSet setWithObjects: @"com.company.app.product1", @"com.company.app.product1", nil]];
request.delegate = self;
[request start];
}
};
-(void)productsRequest:(SKProductsRequest *)request didReceiveResponse:(SKProductsResponse *)response {
for (SKProduct *prod in response.products) {
NSLog(@"%@ (%@)", prod.localizedTitle, prod.price);
}
[request release];
};
-(IBAction)clickBuy:(UIButton *)__sender {
SKPayment *payment = [SKPayment paymentWithProductIdentifier:@"com.company.app.product1"];
[[SKPaymentQueue defaultQueue] addPayment:payment];
};
MyStoreObserver.m
- (void)paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray *)transactions {
for (SKPaymentTransaction *transaction in transactions) {
switch (transaction.transactionState) {
case SKPaymentTransactionStatePurchased:
NSLog(@"SKPaymentTransactionStatePurchased");
break;
case SKPaymentTransactionStateFailed:
NSLog(@"SKPaymentTransactionStateFailed");
break;
case SKPaymentTransactionStateRestored:
NSLog(@"SKPaymentTransactionStateRestored");
break;
case SKPaymentTransactionStatePurchasing:
NSLog(@"SKPaymentTransactionStatePurchasing");
default:
break;
}
}
};
的productRequest:
委託方法示出了2個產品及其名稱/價格。就像我在iTunes連接網站上輸入的一樣。
但是,一旦我點擊'購買'按鈕,就不會彈出對話框或要求我輸入憑據。只記錄「SKPaymentTransactionStatePurchasing」。
我:
- ...在設置/存儲窗格
註銷 - ...現在用的是正確的配置型材
- ...拼死
有人嗎?
同樣發生在我身上...... – negersiu 2012-01-18 13:36:58
昨天我的應用程序內購買工作正常(代碼與您的代碼類似)。我買了現在買的彈出框顯得很好,但今天早上測試我得到和你一樣的東西。它承認我的產品(我可以得到名稱說明,價格,產品ID等),但是當我設置付款並在我的「purchaseUpgrade」功能中添加付款時,沒有任何反應。我想知道現在是否有沙盒問題......是否有其他人現在能夠正確測試他們的應用內購買? – 2012-01-18 18:19:47
我希望是這樣,閱讀官方指南4次,並按照它通過...但仍然沒有對話。 – basvk 2012-01-18 22:03:40