Я установил свою покупку в приложении, создав два идентификатора пакета. I создал тестовую учетную запись и проверил покупку в приложении ... он работал отлично ... через неделю после того, как я протестировал im, получая это ошибка *** Terminating app due to uncaught exception 'NSRangeException', reason: '*** -[__NSArrayI objectAtIndex:]: index 0 beyond bounds for empty array' *** First throw call stack:
и его не возвращает продукты ... может у ребят помочь мне out.what возможно может быть неправильно с этимВ приложении не работает
-(void)Declarations
{
if ([SKPaymentQueue canMakePayments]) {
NSLog(@"parental functions are disabled");
SKProductsRequest *productRequest = [[SKProductsRequest alloc]initWithProductIdentifiers:[NSSet setWithObjects:@"com.techzone.9xo.onedollar",@"com.techzone.9xo.twodollar",nil]];
productRequest.delegate=self;
[productRequest start];
}else {
NSLog(@"parental functions are enabled");
}
}
-(void)productsRequest:(SKProductsRequest *)request didReceiveResponse: (SKProductsResponse *)response
{
SKProduct *validProduct=nil;
int count = [response.products count];
NSLog(@"number of prouducts present:%d",count);
if(_HintValue)
{
validProduct = [response.products objectAtIndex:0];
}
if (!_HintValue) {
validProduct = [response.products objectAtIndex:1];
}
NSLog(@"the product is :%@",validProduct.localizedTitle);
SKPayment *skpayment = [SKPayment paymentWithProduct:validProduct];
[[SKPaymentQueue defaultQueue] addPayment:skpayment];
[[SKPaymentQueue defaultQueue]addTransactionObserver:self];
}
- (void)request:(SKRequest *)request didFailWithError:(NSError *)error
{
NSLog(@"Failed to connect with error: %@", [error localizedDescription]);
}
-(void)paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray *)transactions
{
for (SKPaymentTransaction *transaction in transactions) {
switch (transaction.transactionState) {
case SKPaymentTransactionStatePurchasing:
NSLog(@"stuff is getting purchased");
break;
case SKPaymentTransactionStatePurchased:
NSLog(@"purchased properly");
NSInteger currentValue=[Util getIntegerValueForKey:@"hintValue"];
if(_HintValue)
[Util setIntegerValue:10+currentValue forKey:@"hintValue"];
if (!_HintValue)
[Util setIntegerValue:25+currentValue forKey:@"hintValue"];
[[SKPaymentQueue defaultQueue]finishTransaction:transaction];
break;
case SKPaymentTransactionStateRestored:
[[SKPaymentQueue defaultQueue]finishTransaction:transaction];
break;
case SKPaymentTransactionStateFailed:
if (transaction.error.code != SKErrorPaymentCancelled) {
NSLog(@"error happened");
}
[[SKPaymentQueue defaultQueue]finishTransaction:transaction];
break;
default:
break;
}
}
}
Дело в том, что на прошлой неделе все работало нормально, но сегодня его нет ... любая идея ... я еще не опубликовал приложение ... и я тестировал его с помощью тестовой учетной записи – user578386
У меня была та же проблема. Кажется, что иногда изолированный AppStore (который используется для тестирования) не работает. Но обычно не более двух часов. Если ваша проблема не исчезнет, вы должны взглянуть на контрольный список, хотя, если он работал раньше, и вы действительно ничего не изменили, я предполагаю, что песочница не работает. – joern
И все же это не помешает, если вы удалите приложение с вашего устройства и очистите свой проект. Если вы еще этого не сделали. – joern