2015-08-12 3 views
0

Я использую следующий код для просмотра своего приложения. Но его не работает на версии iOS 8.4. Его работоспособность для iOS версии 8.3.SKStoreProductViewController loadProductWithParameters, не работающий на версии iOS 8.4

if ([SKStoreProductViewController class] != nil) { 
    SKStoreProductViewController *storeViewController = [[SKStoreProductViewController alloc] init]; 
    [storeViewController setDelegate:self]; 

    NSNumberFormatter *f = [[NSNumberFormatter alloc] init]; 
    f.numberStyle = NSNumberFormatterDecimalStyle; 
    NSNumber *myNumber = [f numberFromString:kAppleID]; 

    NSDictionary *productParams = @{ SKStoreProductParameterITunesItemIdentifier : myNumber }; 
    [storeViewController loadProductWithParameters:productParams completionBlock:^(BOOL result, NSError *error) { 
     if (result == YES) { 
      [self presentViewController:storeViewController animated:YES completion:nil]; 
     } else { 
      // handle the error 
      NSLog(@"%@",error.description); 
     } 
    }]; 
} 

Пожалуйста, помогите мне исправить это, а также дайте мне знать, почему его не работает? Спасибо большое

ответ

0

Извините, небольшая ошибка, которую я сделал по коду. storeViewController loadProductWithParameters: блок вернет NO если он не загружен. Это означает, что вы готовы представить storeViewController. Так я помещаю изменил условия и фиксированная моя проблема

if ([SKStoreProductViewController class] != nil) { 
SKStoreProductViewController *storeViewController = [[SKStoreProductViewController alloc] init]; 
[storeViewController setDelegate:self]; 

NSNumberFormatter *f = [[NSNumberFormatter alloc] init]; 
f.numberStyle = NSNumberFormatterDecimalStyle; 
NSNumber *myNumber = [f numberFromString:kAppleID]; 

NSDictionary *productParams = @{ SKStoreProductParameterITunesItemIdentifier : myNumber }; 
[storeViewController loadProductWithParameters:productParams completionBlock:^(BOOL result, NSError *error) { 
    if (error) { 
     // handle the error 
     NSLog(@"%@",error.description); 
    } else { 
     [self presentViewController:storeViewController animated:YES completion:nil];    
    } 
}]; 

}

+0

добавить также причину, почему он работал в 8.3, а не на 8,4 – Leena

+0

@Leena Я уже добавил ответ на это. Я всегда получаю NO в результате блока для 8.4. Я думаю, что SKStoreProductViewController занимает больше времени, чтобы загрузить нагрузку в 8.4, поэтому для 8.4 я получаю результат как НЕТ. для 8.3-блока возвращается ДА. –

 Смежные вопросы

  • Нет связанных вопросов^_^