Покупка в приложении работает на iOS 3 и 5, но не на iOS 4 - PullRequest
1 голос
/ 30 октября 2011

У меня есть проблема, которую я не могу решить, и я застрял.

Я реализовал экран покупки в приложении. Проблема в том, что при проверке этого на iOS3.1.3 он работает отличнотакже на симуляторе iOS5, но при использовании iOS4 я не получаю и продукты на ответ,

Соответствующий код, который я использую:

-(void)productsRequest:(SKProductsRequest *)request didReceiveResponse:(SKProductsResponse *)response{
if ([response.products count]==0) {

       // Always gets in here on iOS4....

}else{

   //get here on 3.1.3 or 5

    [productDetailsList addObjectsFromArray: response.products];
}

....

[request release];  
}

- (void)requestProductData {
for (short item_count = 1; item_count <=4 ; item_count++) {
    [productIdentifierList addObject:[NSString stringWithFormat:@"myApp.item.%d", item_count]];


}

SKProductsRequest *request = [[[SKProductsRequest alloc] initWithProductIdentifiers:[NSSet setWithArray:productIdentifierList]] retain];

request.delegate = self;
[request start];
}

.h файл выглядит так:

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

@interface viewController : UIViewController
<SKProductsRequestDelegate, SKPaymentTransactionObserver> {

NSMutableArray *productIdentifierList;
NSMutableArray *productDetailsList;
NSMutableArray *transactionHistory;

}
@property (nonatomic, retain) NSMutableArray *productIdentifierList;
@property (nonatomic, retain) NSMutableArray *productDetailsList;
@property (nonatomic, retain) NSMutableArray *transactionHistory;

- (void)requestProductData;
- (void)completeTransaction: (SKPaymentTransaction *)transaction;
- (void)restoreTransaction: (SKPaymentTransaction *)transaction;
- (void)failedTransaction: (SKPaymentTransaction *)transaction;
- (void)recordTransaction: (SKPaymentTransaction *)transaction;
- (void)provideContent: (NSString *)productIdentifier;
@end

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

Странно, это работаетна моем 3.1.3, а не на 4.2.1.

Пожалуйста, помогите ...

1 Ответ

0 голосов
/ 01 декабря 2011

API StoreKit работает на устройстве только в 4.2, поэтому вы должны попытаться выполнить его на устройстве.в то время как в версии 3.1 ios simulator я не работал, но в ios5 Simulator он работает, я думаю, что это может быть ошибкой ios5 Simulator или они пытаются дать новую функциональностьНо на сайте Apple есть упоминание, что storekit будет работать только на Device.

Так что вы просто пытаетесь сделать то же самое, создавая свой проект на устройстве.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...