私のアプリケーションはiTunes Storeで公開されたばかりで、その後購入を開始できません。アプリケーションとその動作をSandbox envoirnemntでテストしました。しかし、ライブアプリケーションはエラーを出します
Error Domain=SKErrorDomain Code=0 “Cannot connect to iTunes Store
enum value = SKErrorUnknown
ストアログインからテストアカウントをサインアウトしようとしましたが、アカウントログインを求められず、エラーが発生し続けます。どんな手掛かり!
これは、私が推測している2つの問題が原因で発生する可能性があります。
正しい「製品ID」を配置したことを確認してください。その場合、-[SKPaymentQueue addPayment:]を呼び出した直後に、支払いの確認を求めるポップアップが表示される前に、エラー0が発生します。
テストユーザーが無効になりました。これは、テストユーザーが誤ってApp Storeにログインした場合に発生する可能性があります。この場合、支払いを確認するためにパスワードを入力すると、エラー0が発生します。
問題#1を修正するには、正しい製品IDを渡します。問題#2を修正するには、iTunes Connectで新しいテストユーザーを作成し、オプションで古いテストユーザーを削除します。
これがお役に立てば幸いです。
ITunes Storeからサインアウトしているかどうかを確認するサインアウトするには、次の手順に従います。
サブスクリプションのテスト中に同じエラーが発生しましたが、iTunes Connectからローカリゼーション(サブスクリプションの表示名と説明)を製品に追加することで、サブスクリプションを機能させることができました。
いくつかのことを確認して確認できます。
Verify following things
:
(1)
アプリのBundle ID
。アプリ内購入を追加したiTunesストアで作成したものと同じである必要があります。
(2)
確認してくださいIn App Identifier
アプリケーションで使用する名前。
これらのいずれかが一致しない場合は、Error Domain=SKErrorDomain Code=0 “Cannot connect to iTunes Store
例外。
このシナリオはまさに私のものでした。 addPaymentが呼び出された後、「既存または新規のアカウントでiTunesストアにログインしてください」というダイアログボックスが表示されました。ログインを選択するとすぐに、上記のエラーが発生しました。
IPadを再初期化し、iCloudからサインアウトしました。運が悪い。次に、友人に見せると、これとは別のiTunes a&AppStoreサインアウトオプションもあることがわかりました。 Touch Id行をクリックすると、サインアウトオプションが表示されました。次に、購入時にテストアカウントでログインするように求められました。動いた!