アプリ内購入が実際にXcode 6を使用してシミュレーターでテストできるかどうかに関する矛盾する情報を見つけ続けます。一部の回答は「yes」と表示され、他の回答はXcode 6のベータ版にバグがあることを示しているようです。その他は、「no」をフラットアウトします。
IAPがデバイス上で適切に機能するアプリを持っていますが、シミュレーターでレシートを更新しようとすると、非常に役に立たないメッセージError Domain=SKErrorDomain Code=0 "The operation couldn’t be completed. (SKErrorDomain error 0.)"
で失敗します。
テスターがテストできなかったため(デバイスのサンドボックスアカウントで完全に機能しているにもかかわらず)、アプリがアプリストアから拒否されました。シミュレータでテストしただけで続行できないのではないかと疑い始めています。
シミュレータで動作しないことと、デバイスでテストする必要があることをよく読んだので、シミュレータで動作しないことについては心配していませんでしたが、裏側で噛まれた可能性があります。
誰かが実際にIAPを動作させてIOS 8/Xcode 6シミュレーターにした)と誰が言えるでしょうか?
Xcode 6シミュレーターでデバッグビルドiOS 8ターゲットを使用すると、StoreKitサンドボックスのほとんどが不思議なことに動作するようになりました。
ただし、自動更新サブスクリプションを購入することはできません。最終確認ダイアログが表示されますが、その後トランザクションは常にtransactionState
のSKPaymentTransactionStateFailed
で返されます。同じコードがデバイスで機能します。私はこれをレーダーで報告しましたが、AppleはシミュレーターでStoreKitがサポートされていないことを返信しました。
実際、私はxcode 6/iOS 8シミュレーターでアプリ内購入をテストしましたが、それは完璧に機能します(サンドボックスの購入と復元)。ただし、他のシミュレーター(iOS 7.0.3および7.1)はIAPでは機能しませんでした。
したがって、答えはyesです。
アプリにはIAPレシートの検証方法が含まれていますか?単純すぎるように見えるかもしれませんが、検証は https://sandbox.iTunes.Apple.com/verifyReceipt でではない