アプリ内購入のテストを実行しています(初めてアプリを購入したとき)。このコードの3行目にEXC_BAD_ACCESSが表示されます。アプリ購入テスト中のEXC_BAD_ACCESS
SKPayment *payment = [SKPayment paymentWithProduct:electronicProd];
[[SKPaymentQueue defaultQueue] addTransactionObserver:self];
[[SKPaymentQueue defaultQueue] addPayment:payment];
ボタンのIBActionの下にあります。 electronicPackはヘッダーにSKProductとして宣言されています。 productsRequest didReceiveResponseにいくつかのNSLogを投げました。そして、その製品が(viewDidLoadで)リクエストされたとき、彼らは製品を正しく取り出してそれをelectronicPackに格納していることを示しました。 didReceiveResponseページの[[request.products] objectAtIndex:0]として定義されたelectronicPack。そうです。それは私が何をすべきかわからないからです。どんな助けもありがとうございます。
UPDATE:FIXED誤ってコードに残って余分なトランザクションオブザーバを追加しました笑
、あなたが保持してメッセージを呼ぶのですか?すべてのイベントは自動解放プールにラップされます。静的なinitメソッドでオブジェクトをインスタンス化すると、viewDidLoadメソッドが終了するとアイテムが解放されます。 – andreamazz
私が好きかどうか尋ねていますか? electronicPack = [SKProduct alloc] init ?それに対する答えは「いいえ」です。もしあなたが何を求めていないのであれば、あなたは何を言っているのかよく分からない。笑 –
私は全体のメモリ管理、プロパティのものであまりにも良いではありません。そしてすべて。約1ヶ月間しかプログラミングされておらず、まだそれを選んだことはありません。それを試してみて、何かを修正するかどうかを確認してください。 EDIT:何も変更せずにself.elec..etcを実装しました。まだアプリケーションがクラッシュしたときにエラー –