私は iOS 6 のアプリ購入に実装しようとして います。参照ポイントとして、Ray Wenderlich iOS 6 アプリ内チュートリアルに従っています。私が Ray のコードから行っている大きな変更の 1 つは、カスタム テーブル ビューを作成するのではなく、ユーザーがタップして購入する単一のボタン (アプリの購入には 1 つしかありません) があることです。私はそれを機能させることができないようで、私は取得し続けます
-[__NSMallocBlock__ allObjects]: unrecognized selector sent to instance 0x1d5846d0
2012-10-03 00:03:25.715 myapp[752:907] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSMallocBlock__ allObjects]: unrecognized selector sent to instance 0x1d5846d0'
問題が発生していると思います
- (void)requestProductsWithCompletionHandler:(RequestProductsCompletionHandler)completionHandler
ray が実装したヘルパー クラスと私が実装したヘルパー クラスが 2 つあります。これらのために変更したのは、アプリの ID 番号だけです。これらのクラスは IAPHelper.h/m および RageIAPHelper.h/m と呼ばれます
エラーが発生していると思われるコードを投稿しました(長くはありません)。誰かが私を助けてくれれば、私はこれに約4時間取り組んでいます. 前もって感謝します
purchaseViewController の内部
-(void) viewDidLoad
{
[super viewDidLoad];
[self reload]; //Customized for my own needs compared to what Ray had
}
-(void)reload {
_products = nil;
[[RageIAPHelper sharedInstance] requestProductsWithCompletionHandler:^(BOOL success, NSArray *products) {
if (success) {
_products = products;
//[self.tableView reloadData];
}
//[self.refreshControl endRefreshing];
}];
}
IAPHelper.m という内部ヘルパー メソッド
- (void)requestProductsWithCompletionHandler:(RequestProductsCompletionHandler)completionHandler {
// 1
_completionHandler = [completionHandler copy];
// 2
_productsRequest = [[SKProductsRequest alloc] initWithProductIdentifiers:_productIdentifiers]; // This is where I think the crash is
_productsRequest.delegate = self;
[_productsRequest start];
}