[appStore ios]iPhoneアプリ申請時、引っかかったガイドラインまとめ

せっかく作ったアプリ、審査に出すとガイドラインに引っかかってしまい作り直す羽目に。ある程度アプリを作成している方であれば経験しているでしょうが、中には早めに知りたかったものも。なのでまとめておきます。

OAuth認証(外部サービスを使った認証)を実装する際は、必ずAppleIDでの認証も準備するべし

早速理不尽な内容ですが、私はアプリにおいて「Google認証」と「Twitter認証」を実装して審査を依頼しました。するとタイトルの回答が。面倒ですがiOSの場合のみAppleIDでの認証もできるように機能を変更しました。

※ちなみに、flutter*sign_in_with_appleパッケージで開発していますが、Apple IDでの認証はシュミレーターだと上手くいきませんでした。

AppleIDで認証した場合は、ユーザ情報を入力する必要がある場合は初期値としてAppleIDに関連づけられた情報を取得するべし

何を言いたいか伝わりにくいかも知れませんが、OAuth認証を行った場合、各サービスで登録してある情報を取得することができます。そしてもしアプリ内でユーザ情報の入力を必要とする場合かつAppleIDでログインした場合は、Appleに登録された情報を初期値として使わないといけないということです。
自分はアプリ内にて「ニックネーム」を登録する箇所があったのですが、ここにAppleIDに保存されている名前を使えとのことでした。非匿名性を売りにしたSNSサービスだったので、「ここには実名ではなくオリジナルなネームを入れて欲しい」と異議申し立てしたのですが、無視されました。

画面上部、ヘッダー・ナビゲーション位置のバックボタンを必ず有効にするべし

アプリの機能を使うためには必ずユーザー情報を入力して欲しかったので、ユーザー情報が未入力状態であれば強制的に入力画面へ遷移し、戻るボタンを非表示にするようにしていました。しかしこれも却下。仕方なくある程度は未登録状態でも操作できるように実装を変更しました。

情報求む

思い出せる限り書きましたが、他にもまだあった気がしてなりません。また、他にもこんなケースがあったよーという情報ありましたら教えていただけますと幸いです。