アプリで購入できない

私はこのチュートリアルを使用します。 http://www.raywenderlich.com/2797/introductionアプリ内の購入を作成するためのアプリ内購入を行います。

時折、このコードが動作しているか動作していません。私は面白いと思うが、これは私の問題です。

たとえば、最初に起動するアプリ(すべてのアイテムがダウンロードされてテーブルに表示され、これを購入することができます)が、次回(たとえば2回目の起動時)に次の行にエラーが表示されます。

SKProduct *product = [[InAppRageIAPHelper sharedHelper].products objectAtIndex:0]; 

エラーは

キャッチされていない例外「NSRangeException」が空の配列の境界を超えてインデックス0で終了するアプリ

0
ありがとうjrturton私は今編集
追加された 著者 Matrosov Alexander,
「購入していない:com.company.sb.pack5」のメッセージ(ただし、このメッセージには時間が表示されています)
追加された 著者 Matrosov Alexander,
@MatrosovAlexanderあなたはあなたの質問を編集してその細部を含めるべきであり、逃すかもしれないコメントには入れないでください。私はあなたのためにそれを追加しました。
追加された 著者 jrturton,
Vinceさんのコメントに加えて、エラーの原因をさらに詳しく把握し、これまでに試したことを説明してください。誰もあなたがすでに試したことに時間を無駄にしません。
追加された 著者 Sebastian Wramba,
どのコードですか?どのエラー?
追加された 著者 user971401,

3 答え

このようなクラッシュを避けたい場合は、次のように製品を処理する前に条件を設定するだけです。

if ([[InAppRageIAPHelper sharedHelper].products count] >0)
{
   SKProduct *product = [[InAppRageIAPHelper sharedHelper].products objectAtIndex:0];
   //product processing goes here
}
else
{
   NSLog (@"Warning: no products returned");
}
2
追加された
全てに感謝。はい、私の質問はかなり一般的です。 ray wenderlichのチュートリアルは通常優れています(それも優れていますが、時間がかかる)。私はこれが私の間違いだと思う。参考に感謝!
追加された 著者 Matrosov Alexander,
こんにちは!はい、これは正しいチェックですが、なぜメソッドを呼び出すと商品がないのですか? - (void)productsRequest:(SKProductsRequest *)didReceiveResponse:(SKProductsResponse *)response?
追加された 著者 Matrosov Alexander,
これ以上の背景なしに言うことは難しいです。おそらく、デリゲートメソッドのコードと、リクエストを作成するメソッドのコードを投稿した場合です。あなたがそれを行う前に、すべての製品識別子を読むことができないようにしてください - それらをFFFFFFか何かで上書きしてください。このガイドを必ず確認してください.15分以上かかることはありません: developer.apple.com/library/mac/documentation/&hellip
追加された 著者 Rok Jarc,

支払方法を使用するときにこのコードを使用してください.....支払いボタンが押されたように

NSLog(@"Products - %@",[IAPClockDietHelper sharedHelper].products);

あなたが最初にアプリケーションを起動すると、製品バルブを持っていることがわかりました。アプリケーションを使用すると、2回目に製品にNULL値があります....あなたのアプリケーションはクラッシュしています。

1
追加された
すべてConecptにチェックを入れてください。 troybrant.net/blog/2010/01/in-app-purchases-a-full-walkthrou‌ gh
追加された 著者 Deepesh,
こんにちは、あなたの問題は解決して、あなたのソリューションを投稿してください
追加された 著者 Deepesh,
このURLを参照してください。 stackoverflow.com/questions/3324596/&hellip
追加された 著者 Deepesh,
私はあなたが理解していると思う
追加された 著者 Deepesh,
こんにちは何が起こるか?
追加された 著者 Deepesh,
ありがとう、私は今それを試してみましょう!
追加された 著者 Matrosov Alexander,
私のメソッド - (void)productsRequest:(SKProductsRequest *)didReceiveResponse:(SKProductsResponse *)レスポンスが実行されましたが、私は応答として値を取得しません。
追加された 著者 Matrosov Alexander,
ありがとう!私はこれが私の誤りのようだと思う。
追加された 著者 Matrosov Alexander,
ある時点で私は自分のアイテムの完全な配列を取得し、次回は私の製品配列に要素が1つもありません。
追加された 著者 Matrosov Alexander,
NSLog(@ "製品 - %@"、[IAPClockDietHelper sharedHelper] .products);現在 - このログではNSArray製品にアイテムがありません。なぜこれはいつもクラッシュではないのですか?
追加された 著者 Matrosov Alexander,

私のデバイスのハードリセットを行った後に解決したこの問題。

0
追加された
「デバイスのハードリセットを行った後」という意味は何ですか?設定 - >リセット - >すべての設定をリセットしますか?
追加された 著者 Jacky,