2011-01-16 20 views
2

アプリ内購入のiPhoneアプリを作成しました。 今、テスト段階です。iPhone - アプリ内購入の問題

プロビジョニングプロファイルcom.satyam.testappを作成しました iTunesに接続してアプリケーションを作成し、画像、スクリーンショット、デシクリエーションなどをアップロードしました。アプリ内購入用に2つのIDも作成しました。 1つはcom.satyam.testapp.book1、もう1つはcom.satyam.testapp.book5

私のアプリ内購入を確認するためのテストアカウントを作成しました。

com.stayam.testappを使用する私は開発者のテストプロファイルを作成し、これを私の開発したアプリケーションで使用しました。

私のiPhoneには、iTunesのApp Storeアカウントがログアウトしました。

私は自分のiPhoneでアプリケーションを実行し始めました。購入するアイテムがないと言っているしかし、それは私がテストアカウントのユーザー名とパスワードを入力する必要がある資格情報を私に尋ねていません.....

どのようにデバッグするのですか?

ここに私のデリゲートです:

- (void)productsRequest:(SKProductsRequest *)request didReceiveResponse:(SKProductsResponse *)response 
{ 
    NSArray *myProduct = [[NSArray alloc] initWithArray:response.products]; 
    for(int i=0;i<[myProduct count];i++)   
    { 
     SKProduct *product = [myProduct objectAtIndex:i]; 
     NSLog(@"Name: %@ - Price: %f",[product localizedTitle],[[product price] doubleValue]);  
     NSLog(@"Product identifier: %@", [product productIdentifier]); 
    }  

    for(NSString *invalidProduct in response.invalidProductIdentifiers) 
     NSLog(@"Problem in iTunes connect configuration for product: %@", invalidProduct); 

    [request autorelease]; 
    [myProduct release]; 
} 
+0

端末がjailbreakしていますか?もしそうなら、あなたはIAPが機能するための脱獄を元に戻す必要があります。 – pocjoc

+0

@pocjocアプリストアにアプリをアップロードすると、IAPはjailbrokenに対応しますか? – m1sk

+0

@ m1skはいです。 InAppがうまく動作しないのはテスト環境だけです。 – pocjoc

答えて

15

おそらくそれは、残念ながらそれは無効な製品によって引き起こされていると仮定すると、サンドボックス上

- (void)productsRequest:(SKProductsRequest *)request didReceiveResponse:(SKProductsResponse *)response 
{ 


    NSArray *items = response.products; 

    for(SKProduct *item in items) 
    { 

     NSLog(@"Product title: %@" , item.localizedTitle); 
     NSLog(@"Product description: %@" , item.localizedDescription); 
     NSLog(@"Product price: %@" , item.price); 
     NSLog(@"Product id: %@" , item.productIdentifier); 


    } 

    for (NSString *invalidProductId in response.invalidProductIdentifiers) 
    { 
      NSLog(@"Invalid Product title: %@" , item.localizedTitle); 
     NSLog(@"Invalid Product description: %@" , item.localizedDescription); 
     NSLog(@"Invalid Product price: %@" , item.price); 
     NSLog(@"Invalid product id: %@" , invalidProductId); 
    } 
} 

をデバッグする痛みをすることができ、無効な製品ID、によって引き起こされることが示される、戻ってあなたのskProductsRequestコールをチェックIDは次のチェックリストに記載されています

あなたのApp IDのアプリ内購入を有効にしましたか?

ご使用の製品の販売を終了したことを確認しましたか?

プロジェクトの.plist Bundle IDがあなたのアプリケーションIDと一致していますか?

新しいApp ID用の新しいプロビジョニングプロファイルを生成してインストールしましたか?

この新しい プロビジョニングプロファイルを使用してコード署名するようにプロジェクトを設定しましたか?

iPhone OS 3.0以上でビルドしていますか?

SKProductRequestの作成時に完全な製品IDを使用していますか?

あなたの製品をiTunes Connectに追加してから数時間お待ちですか?

iTunes Connectで銀行の詳細を有効にしていますか?

+0

私が書いたデリゲートを持つ説明を更新しました。 1.アプリIDのアプリ内購入が有効になっています。 2.はい、「売り切れ」を確認しました。3.バンドルIDはアプリIDと一致します。 4.はい、私は新しいアプリIDのための新しいプロプロファイルを作成しました。 5.コードサインに新しいプロファイルを使用しています。私は4.2 sdkを使ってビルドし、デバイス7で実行しています。私はSKProductRequestを要求するときに完全な製品IDを使用しています。 8.私は先週iTunesで接続した製品を登録しました。 9.マイ・アイテム・コネクト・アカウントが新しいです。銀行詳細はまだ追加されています。私は、金銭の払い戻しにのみ必要であると考えています。 – Satyam

+1

私は過去に、すべての財務情報が記入されていない限り、製品IDが無効であることをいつでも知ることができました。 – kgutteridge

+0

財務の詳細は今更新されました。それでも私は同じ問題に直面しています。 – Satyam

0

1 - あなたは既存のものをログアウトし、そこから自分のテストアカウントでログインすることができます。 2デバッグのために、製品(com.satyam.testapp.book1およびcom.satyam.testapp.book5)が有効になるまで待つ必要があります。現在、あなたの製品はresponse.invalidProductIdentifiersリストになければなりません。製品が有効になると、テストアカウントの資格情報が尋ねられます。商品が有効になり、有料アプリの契約書に署名したことを確認するまでに時間がかかることがあります。

+0

ほぼ10日間、私はapp store itunesで製品を作りました。私は彼らがこの時までに有効かもしれないと思う。私はresponse.invalidProductIdentifiersを取得しています。 – Satyam

+0

あなたは有料アプリの契約書に署名しましたか?私は数週間前に同じ問題を抱えていました。私の製品は無効で、それが問題でした。 – xenep

+0

私もそれを試みましたが、成功はありません..... – Satyam

7

あなたがテストしている電話からアプリを削除してから、「ビルドとデバッグ」を試してみてください。

これで問題が解決しない場合は、次のブログ記事を参照することをおすすめします。

http://troybrant.net/blog/2010/01/in-app-purchases-a-full-walkthrough/

+0

私はそれをしました。まだ動かない。 – Satyam

+1

私のアプリケーションの新しいバージョンで作業している私は突然これを見て始め、心配して...あなたの解決策は私の鉱山と私はそれを私自身で考えていないだろう。アプリを削除し、きれいにして、再構築しました..完了! – badweasel

+0

これは私のために働いた。アプリストアからダウンロードしたバージョンのアプリをインストールするため、この問題が発生していたことが判明しました。これにより非サンドボックスモードで実行され、新しいサンドボックスのみのIAPオブジェクトは表示されませんでした。 – user1139733

0

プロダクトIDは、「com.satyam.testapp.book1は」はあなたのiTunesストアに登録されたものと同じである、とあなたがチェックアウトするかどうかをオプション

「売却のための明確な」