私はこのチュートリアルを使用します。 http://www.raywenderlich.com/2797/introductionアプリ内の購入を作成するためのアプリ内購入を行います。
時折、このコードが動作しているか動作していません。私は面白いと思うが、これは私の問題です。
たとえば、最初に起動するアプリ(すべてのアイテムがダウンロードされてテーブルに表示され、これを購入することができます)が、次回(たとえば2回目の起動時)に次の行にエラーが表示されます。
SKProduct *product = [[InAppRageIAPHelper sharedHelper].products objectAtIndex:0];
エラーは
キャッチされていない例外「NSRangeException」が空の配列の境界を超えてインデックス0で終了するアプリ
このようなクラッシュを避けたい場合は、次のように製品を処理する前に条件を設定するだけです。
if ([[InAppRageIAPHelper sharedHelper].products count] >0) { SKProduct *product = [[InAppRageIAPHelper sharedHelper].products objectAtIndex:0]; //product processing goes here } else { NSLog (@"Warning: no products returned"); }
支払方法を使用するときにこのコードを使用してください.....支払いボタンが押されたように
NSLog(@"Products - %@",[IAPClockDietHelper sharedHelper].products);
あなたが最初にアプリケーションを起動すると、製品バルブを持っていることがわかりました。アプリケーションを使用すると、2回目に製品にNULL値があります....あなたのアプリケーションはクラッシュしています。
私のデバイスのハードリセットを行った後に解決したこの問題。