AppStoreの審査でたくさん怒られた話😭

## はじめに
現在スマホで就活を管理するアプリ**Jobhun**を開発しています。
その中でAppStoreの審査に落ちまくってリリースに1週間くらいかかってしまったので、どのような原因で落ちたのかとその対応策を共有します！

## iPadの画像問題
### 問題の概要
１つはiPadのストア画像の設定に関する問題です。
今回のアップデートでAppStoreの画像を変更することになり、iPhone用の画像は作成したのですが、iPad用の画像はiPhone用の画像をiPad用の画像サイズにリサイズしたものを転用しました。
その状態で提出した結果、以下のようなメッセージが来ました。少し長いです。
>
Guideline 2.3.3 - Performance - Accurate MetadataWe noticed that your screenshots do not sufficiently show your app in use. **Specifically, your 12.9-inch iPad Pro screenshots reflect an iPhone image stretched out to appear to be an iPad image.**To help users understand your app’s functionality and value, your screenshots should highlight your app’s core concept. For example, a gaming app should feature screenshots that capture actual gameplay within the app.Next StepsPlease revise your screenshots to ensure that they accurately reflect the app in use on the supported devices.Keep in mind the following requirements:- Marketing or promotional materials that do not reflect the UI of the app are not appropriate for screenshots.
>
- The majority of the screenshots should highlight your app’s main features and functionality.
- Confirm that your app looks and behaves identically in all languages and on all supported devices.
- Make sure that the screenshots show your app in use on the correct device. For example, iPhone screenshots should be taken on iPhone, not on iPad.Resources- To learn more about creating great screenshots for the App Store, see
[Optimizing Your App Store Product Page](https://developer.apple.com/app-store/product-page/)

太字のところに注目してみると
「*おめえiPhoneの画像伸ばしてiPadの画像にしているだろ〜〜*」
という感じですね。
しっかりバレてますね、、、さすがApple、、、
### 解決策
iPadのサイズにあった画像を別途作成する必要があります。
しかし、アプリの性質上iPadのユーザーを対象にしていないため、簡易的な対処を行いました。
シミュレーターでiPadを起動して必要な画面のスクリーンショットを撮ってStoreの規格に合うようにリサイズするだけです。簡単ですね。
もしそこまでストアの画像にこだわらないのであればこれでもいいのかなとは思います。
※本当は用意すべきです

## サインインの問題
### 前提
従来、**Jobhun**ではサインインの手法はGoogleのみにしていました。また、サインインを必須にしていませんでした。
そのため特にサインインが原因でリジェクトされることはありませんでした。

### 問題の概要
しかし、今回のアップデートでの仕様変更によってGoogleログインを必須にし、その状態で審査を出しました。
その結果、以下のようなメッセージが来ました。
>
Guideline 2.1 - Information NeededWe’re looking forward to completing the review of your app, but we need more information to continue.Next StepsPlease provide detailed answers to the following questions in your reply to this message in Resolution Center:- **For what purpose does your app require users to log in with their Google account?**
>
- Is it a specific type of Google account?Guideline 2.1 - Information NeededWe’re looking forward to reviewing your app, but we were unable to sign in with the following demo account credentials you provided in App Store Connect:User name:
>
Password: **(No password provided)Next StepsPlease provide the username and password** for a valid demo account on the App Review page of App Store Connect that provides full access to your app’s features and functionality or include a demonstration mode that shows all of the features and functionality available in your app. Note that we cannot use a demo video showing your app in use to continue the review.To provide credentials for a valid demo account:- Sign in to App Store Connect.

このメッセージのポイントを要約すると以下の2つになります。

- 「*おめえなんでGoogleログイン要求してんの？？*」
- 「*ログインしたいだが、ユーザーネームとパスワード知らん。教えてや。*」

ですので以下のように返信しました。
- 「このアプリは他のGoogleのサービスと連携できるようになっているからだぞい」
- 「審査のところに追加したぞい」
![スクリーンショット 2022-02-20 19.31.27.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/612338/b50ec29b-a0b6-28de-9818-2f0ab0459aaf.png)
AppStoreConnectで審査を出す際にこの画面があるので、チェックボックスにチェックを入れて情報を入力しました。

### 戦いは終わらない
これで一安心。ということにはなりませんでした。
再び返信がきます。内容を保存するのを忘れたため、要点のみになります。

- 「*教えてもらったけどログインできないんだが*」
- 「*ていうかGoogleとかTwitterのサードパーティーでログインを実装する際にはAppleのも使ってよ*」
1つ目の原因はこちら側でログイン情報を教えてもGoogleセキュリティで引っかかってしまうことです。
また2つ目に関しては、なんか図々しいと思いましたが、ガイドラインには以下のように記載されていました。

>
Guideline 4.8 – Design – Sign in with Apple
>
**We noticed that your app uses a third-party login service but does not offer Sign in with Apple.**

さすが天下のAppleさんと言ったところでしょうか、、、
しかし、少し粘ってみたかったので以下のように返信しました。

「*もし審査の人がGoogleアカウント持っていたらそれでログインしてよ〜〜*」

期待はしていないけど一旦送ってみたが、Appleに向けてGoogleでログインしろは喧嘩売ってるかも、、、とは思いましたが案の定断られました。

ということで実装することにました。

## 実装コード
以下のパッケージを利用します。

https://pub.dev/packages/sign_in_with_apple

コードは以下のようになります。

```dart:apple_sign_in.dart
SignInWithAppleButton(
  text: 'Appleでサインイン',
  onPressed: () async {
    final rawNonce = Nonce.generate();

    final appleCredential = await SignInWithApple.getAppleIDCredential(
      scopes: [
        AppleIDAuthorizationScopes.email,
        AppleIDAuthorizationScopes.fullName,
      ],
      nonce: sha256.convert(utf8.encode(rawNonce)).toString(),
    );
    final credential = OAuthProvider('apple.com').credential(
      idToken: appleCredential.identityToken,
      accessToken: appleCredential.authorizationCode,
      rawNonce: rawNonce,
    );
    await FirebaseAuth.instance.signInWithCredential(credential);
  },
)
```
これで完璧や！！！
### また怒られる
以下のメッセージが送られてきました。
「*おめえGoogleのログインの方に意図的に誘導してんな〜〜*」
「*ログインのボタンの形を変えるな*」

思わず「バレたか」と思いました、、、
怒られた原因は以下の画像を見ればわかります。

![スクリーンショット 2022-02-20 15.50.17.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/612338/54c6b894-90b4-3fe6-cb9d-e9919cf8b709.png)


**Jobhun**はGoogleのサービスと連携しているのでできればGoogleログインを使って欲しいな〜と思ってこのようにデザインしました。また、デザインを統一させるためにAppleのログインボタンをいじってました。
その結果上のように注意されてしまいました。

最終的にはAppleのサインインに寄せて以下のように修正しました。
![スクリーンショット 2022-02-20 15.45.44.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/612338/290d4470-4402-c024-4e8c-b9a4e5975d96.png)
**なんて迎合的なんでしょうか**😂

## 終わりに
今回はStoreの画像設定とサインインのリジェクトについてお話しさせていただきました。少しでも参考人されば幸いです。
Google Play Storeと違って審査が結構厳しいのでいい勉強代になりました、、、
というかサードパーティーのサインイン入れるときはAppleのサインインも強要するのって抱き合わせにならないのでしょうか？
詳しい方がいれば教えていただきたいです🙏

最後にはなりますが、現在開発しているアプリに関してご紹介させていただきます。

就活の管理を行うアプリ**Jobhun**です！
Jobhunは「*就活状況を一括管理したい...*」　「*自分が就活の時、予定を組むのが大変だった...*」という就活生の声から生まれたアプリです。そのため、実際に就活を経験してきた方の意見を参考に、「**本当に必要な機能**」をまとめました！

以下のような機能があります。

* 志望企業管理機能
* 就活用カレンダー機能
* ES管理機能 etc...

気軽に就活管理ができるようになっているので、是非ダウンロードしてみてください！！
[LP](https://jobhun.jp/lp)・[IOSダウンロード](https://apps.apple.com/jp/app/jobhun-%E5%B0%B1%E6%B4%BB%E7%94%9F%E3%81%AE%E3%81%9F%E3%82%81%E3%81%AE%E3%82%B9%E3%82%B1%E3%82%B8%E3%83%A5%E3%83%BC%E3%83%AB%E7%AE%A1%E7%90%86%E3%82%A2%E3%83%97%E3%83%AA/id1546735909#?platform=iphone)・[Androidダウンロード](https://play.google.com/store/apps/details?id=jobhun.jobhun)

![300_250.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/612338/9f6f0d8b-c175-5a3e-1864-6b8a39128a78.png)