Open1

Xcode: StoreKit ConfigurationファイルのSyncとPrice

kabeyakabeya

XcodeでStoreKitのローカルテストを実行することができます。
それに用いる.storekitファイルは、ファイル作成時に「Sync this file with an app in App Store Connect」のチェックボックスをオンにすることにより、App Store Connectに登録されている製品表(製品名・価格・説明文)をコピーしてくるようになります。
Syncって言っているからには、このファイルを編集するとApp Store Connectにも反映されるのかと思いきや、App Store Connectがあくまで正で、その内容をローカルの.storekitファイルに上書きする、という動きをします。

App Store Connectの内容を編集したあとローカル.storekitファイルに反映させるには、.storekitファイルを選ぶと表示される編集ペインの左側のリスト下部の「Sync」ボタンを押します。

Xcodeでは.storekitファイルを選んだ状態でEditorメニュー→Default StorefrontでStorefrontを変更できます。

ところで、編集ペインに表示されている価格は、Storefrontごとに表示されているのではなくて1個しかありません。
ここにはSyncボタンを押したときに選ばれていたDefault Storefrontでの価格が設定されるようです。

Syncボタンを押したときのStorefrontがJapan(JPY)で100(JPY)が設定されたとすると、そのあとEditorメニュー→Default StorefrontをUnited States(USD)に変更しても、値は100のままで、ProductのdisplayPriceは$100になります。

Syncボタンを押したときのStorefrontがUnited States(USD)だとして仮に0.49(USD)が設定されたとすると、その状態でStorefront をJapan(JPY)に変更してデバッグすると、ProductのdisplayPriceは¥0になってしまいます(0.49円なんでしょうが、小数点以下が表示されないため)。

  • Priceは1個だけ。SyncしたときのDefault Storefrontの値のみ。
  • Editorメニュー→Default Storefrontを変更しても、自動でSyncされ直したりはしない。

最初、¥0になってしまって、なんで取れてこないのか?と結構悩みました。