私は解決できない問題があり、固まっています。アプリ内購入はiOS 3と5で動作しますが、iOS 4では動作しません
アプリ内購入画面を実装しました。問題は、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では動作しません。
助けてください...
私はまた、新しいプロビジョニングプロファイルを作成して、アプリ内で有効にしようとしています。何も動作しません! 助けてください。 – user1020875
私はそれが以前のものと関係があるかもしれないと思います。バージョン!私も前のバージョンをインストールしなければなりませんでした。私のプログラムの新しいバージョンをストアキットにインストールする前に。 (前のケースでは、Storekitが実装される前のバージョンを意味します) – NicTesla