私はその質問が何度も聞かれたことを知っています。私はそれをすべて見ましたが、この問題を修正できませんでした。
Storekit framework
タイプの InAppPurchaseManager クラスを追加して作成しましNSObject
た。
製品リクエストを行う必要があるインスタンスを作成しています。
InAppPurchaseManager *inApp = [[InAppPurchaseManager alloc] init];
[inApp loadStore:@"TestProduct"];
のクラス プロパティを作成しましたSKProductsRequest
。
@property (retain, nonatomic) SKProductsRequest *productsRequest;
//loadStore メソッド
- (void)loadStore:(NSString *)_productID
{
productID = _productID;
// restarts any purchases if they were interrupted last time the app was open
[[SKPaymentQueue defaultQueue] removeTransactionObserver:self];
// get the product description (defined in early sections)
[self requestProUpgradeProductData];
}
- (void)requestProUpgradeProductData
{
NSSet *productIdentifiers = [NSSet setWithObject:productID];
self.productsRequest = [[SKProductsRequest alloc]
initWithProductIdentifiers:productIdentifiers];
self.productsRequest.delegate = self;
[self.productsRequest start];
}
//デリゲート
- (void)productsRequest:(SKProductsRequest *)request didReceiveResponse:
(SKProductsResponse *)response
{
//never being called
}
- (void)requestDidFinish:(SKRequest *)request
{
//never being called
}
- (void)request:(SKRequest *)request didFailWithError:(NSError *)error
{
//never being called
}
私のインターフェースは次のようになります
@interface InAppPurchaseManager : NSObject <SKProductsRequestDelegate, SKPaymentTransactionObserver, SKRequestDelegate>
この問題を解決する方法を提案してください。
編集:このように
[self.productsRequest start];
実行する
-(void) dealloc {
}