Функции делегата StoreKit не вызываются

Я хотел помочь от вас, ребята. Я реализовал код storekit в своем приложении для iPhone/iPad и тестирую приложение на iPad 1 с iOS 3.2.

Я попытался протестировать приложение после выполнения всех шагов, таких как добавление продуктов для приложения в iTunes, подключение и использование профиля подготовки для запуска этого приложения на моем iPad, но когда я запускаю приложение, функции делегата Storekit никогда не вызываются и не выдает никаких ошибок и никогда не падает. Я не могу понять, в чем проблема.

Пожалуйста, помогите мне решить эту проблему.

Ниже приведен код, который я использовал

- (void) requestProductData
{

    SKProductsRequest *request= [[SKProductsRequest alloc]
    initWithProductIdentifiers: [NSSet setWithObject:@"myproductid"]];


    request.delegate = self;           
    [request start];
}
- (void)productsRequest:(SKProductsRequest *)request didReceiveResponse:
(SKProductsResponse *)response
{
    NSArray *myProduct = response.products;
    // populate UI
    [request autorelease];
}

- (void) request:(SKRequest *)request didFailWithError:(NSError *)error {
    NSString *errorMessage = [error localizedDescription]; 
    NSLog(@"%@",errorMessage);
}

- (void)requestDidFinish:(SKRequest *)request{
    NSLog(@"%@",@"inside request finish");
}

Я вызываю requestProductData, но ни одна из функций делегата не вызывается.

Большое спасибо заранее!


person user1020709    schedule 30.10.2011    source источник
comment
Вы загрузили свое приложение в itunes и сразу же отклонили?   -  person PJR    schedule 01.11.2011
comment
нет, я не загрузил приложение в iTunes. Статус готов к загрузке бинарника в iTunes   -  person user1020709    schedule 01.11.2011
comment
я думаю, вам нужно загрузить его, и через некоторое время вы должны отклонить его, прежде чем он будет отправлен на рассмотрение.   -  person PJR    schedule 01.11.2011
comment
Привет, PJR. Я загрузил приложение и отклонил двоичный файл, и все же это та же проблема, что делегаты все еще не вызываются. Я использую Xcode 4. Не могли бы вы мне помочь?   -  person user1020709    schedule 04.11.2011
comment
У меня есть это, но вместо того, чтобы просто не работать, это фактически приводит к сбою приложения...   -  person Matthew Clark    schedule 25.05.2012


Ответы (1)


Я полагаю, что это немного поздно, и вы уже решили это, но я пытаюсь решить другую проблему, наткнулся на ваш вопрос и задался вопросом, есть ли у вас делегаты в вашем файле интерфейса.

#import <UIKit/UIKit.h>
#import <StoreKit/StoreKit.h>

@interface ViewController : UIViewController<SKProductsRequestDelegate, SKRequestDelegate, SKPaymentTransactionObserver>

@end

Я подозреваю, что у вас был приведенный выше код, и, как было сказано, вы решили его, но на всякий случай у кого-то еще есть такая же проблема, и он забыл включить делегатов в файл h.

person timv    schedule 03.07.2012
comment
Спасибо! это решило мою проблему!! (в моем классе реализован только протокол SKProductsRequestDelegate, который я считаю достаточно хорошим) - person Joshua; 08.07.2013