2019年12月18日水曜日

iOSアプリのアプリ内課金の審査で"デベロッパの対応が必要"と言われる

かなりトラブったのでメモ。

iOSアプリのアプリ内課金を非消耗型からサブスクリプション型に変えた
非消耗型の時には特に苦労した覚えがないのだが、
今回はApp内課金を審査したところ"デベロッパの対応が必要"という形で差し戻された

内容を読むと「君のアプリがちゃんとサブスクリプションに対応できてるか確認するからバイナリをアップロードしてね」というもの。

これが不親切で具体的にどういう手順でバイナリをアップロードすればいいのかが全く書かれていない。そして、App Store Connect内を隅から隅まで探してもそれに対応するようなアップロード場所がない。

調べたところフォーラムで対応策が書かれていた(codeulikeさんの投稿)
https://forums.developer.apple.com/thread/35757

以下日本語版手順
1.App内課金から、差し戻されたサブスクリションを削除して、作り直し。この時「審査へ提出」してはならない。
※製品IDを変えないといけなくなるが、この状態に陥っている場合これは避けられない(個別に問い合わせればなんとかしてくれるかもしれない)

2.新しい製品IDで動作確認。

3.普段通りアプリのリリース作業をする(Xcodeからアップロード->App Store Connectで編集)。この時、App Store Connect上で情報を入力する時にGame Centerの項目の上に「App内課金」という項目が付加されるので、ここで1で作り直したApp内課金を追加する。1で「審査へ提出」してしまった場合はこの項目が表示されないのでもう一度やりなおし。