😽

iOSアプリリリースに至るまでにもらったリジェクトまとめ

2022/02/13に公開

はじめに

このたびFlutter製のモバイルアプリを開発し、リリースさせていただきました!
アプリの概要は「全二郎好きのために送る二郎アプリ」でございます。
このアプリをリリースするときに5つほどAppleからリジェクトをもらったため、それらの内容について共有させていただきます。

https://play.google.com/store/apps/details?id=com.jiro_tabetai

https://apps.apple.com/jp/app/二郎生活-ラーメン簡単マップ検索-クチコミ投稿アプリ/id1604416308

リジェクト

タイムラインに通報、ブロック機能とかつけんかい

Guideline 1.2 - Safety - User Generated Content

We found in our review that your app includes user-generated content but does not have all the required precautions. Apps with user-generated content must take specific steps to moderate content and prevent abusive behavior.

Next Steps

To resolve this issue, please revise your app to implement the following precautions:

- Require that users agree to terms (EULA) and these terms must make it clear that there is no tolerance for objectionable content or abusive users
- A method for filtering objectionable content
- A mechanism for users to flag objectionable content
- A mechanism for users to block abusive users
- The developer must act on objectionable content reports within 24 hours by removing the content and ejecting the user who provided the offending content

Resources

Learn more about our policies for user-generated content in App Store Review Guideline 1.2.

リジェクト内容

本アプリはタイムライン機能をつけているのですが

  • ブロック機能
  • フィルタリング機能
  • 通報機能
    などをつけろ、というものでした。タイムラインを実装する際にはこれらの機能が必須みたいですね。

通報機能
ブロック機能

位置情報の使用を拒否した時にもアプリが動くようにせんかい

Guideline 2.1 - Performance - App Completeness


Your app did not load its contents and the activity indicator spun indefinitely when we tapped "Don't Allow" when prompted for permission to use current location. If location information is required, it is necessary to display a notification or alert indicating this requirement.

Next Steps

To resolve this issue, please revise your app to either enable functionality when a user opts out of providing location information or include an alert that this information is required.

Resources

For more information on Location Services, please review the section, "Determining Whether Location Services are Available" in the Location and Maps Programming Guide.

For a networking overview, review About Networking.

リジェクト内容

位置情報
本アプリはGoogleMapと位置情報を元に近くの店舗を探すという機能をつけているのですが、位置情報の使用を「許可しない」を選択したときにインジケーターが出続けてしまうというバグでした。

位置情報の使用を前提としていたためリジェクトをされてしまいました。

解決方法としては「許可しない」を選択したら、「ラーメン二郎 三田本店」の座標を現在地として見立てるという処理を加えました。

モーダルアラートを日本語で統一せんかい

Guideline 4.0 - Design


We noticed an issue in your app that contributes to a lower quality user experience than Apple users expect:

- Your app's purpose strings in the modal alerts are written in English while the app is set to the Japanese localization. To help users understand why your app is requesting access to a specific feature, your app's modal alerts should be in the same language as your app's current localization.

Next Steps

To resolve this issue, please revise your app to address all instances of this type of issue.

Resources

For information on improving and enhancing your app:

- Review the UI Design Dos and Don’ts for tips on fundamental design best practices.
- Watch the video The Ingredients of Great Apps to understand the basics of great apps.
- Watch the video iPhone and iPad User Interface Design for practical design tips.
- Watch iOS Development Videos to learn about programming and design tips.
- Visit Accessibility on iOS to learn more about delivering a superior mobile experience to every customer, including those with special needs.
- Review the iOS Human Interface Guidelines and ensure that your app's interface and design adhere to these guidelines.

リジェクト内容

位置情報ダイアログ

位置情報のダイアログの説明が英語になってしまっていたため、リジェクトされました。
言語を統一する必要があるようです。

写真の使用目的を説明せんかい

Guideline 5.1.1 - Legal - Privacy - Data Collection and Storage


We noticed that your app requests the user’s consent to access the photos, but doesn’t sufficiently explain the use of the photos in the purpose string.

To help users make informed decisions about how their data is used, permission request alerts need to explain and include an example of how your app will use the requested information.

Next Steps

Please revise the purpose string in your app’s Info.plist file for the photos to explain why your app needs access and include an example of how the user's data will be used.

You can modify your app's Info.plist file using the property list editor in Xcode.

Resources

- See examples of helpful, informative purpose strings.
- Review a list of relevant property list keys.

Please see attached screenshots for details.

リジェクト内容

写真選択

写真の許可ダイアログの時に写真使用についての説明をする必要があるみたいです。

こちらの記事が参考になりました。
https://tenshoku-miti.com/takahiro/ios-reject/

Appleログインでエラーが出るからなおさんかい

Guideline 2.1 - Performance - App Completeness


We discovered one or more bugs in your app. Specifically, error message displayed when we tried to Sign In with Apple. Please review the details below and complete the next steps.

Review device details:

- Device type: iPad
- OS version: iOS 15.2

Next Steps

Please run your app on a device to reproduce the issues, then revise and submit your app for review. If at first you're unable to reproduce the issue, try the following:

- For new apps, uninstall all previous versions of your app from a device, then install and follow the steps to reproduce.
- For app updates, install the new version as an update to the previous version, then follow the steps to reproduce.

If we misunderstood the intended behavior of your app, please reply to this message in Resolution Center to provide information on how these features were intended to work.

Resources

- For information about testing apps and preparing them for review, see Technical Note TN2431: App Testing Guide.
- To learn about troubleshooting networking issues, see About Networking.

リジェクト内容

Appleサインインの機能を使用したときにエラーが出るというものでした。
前までできてたのになんでだろう?と思って色々探していたら、iOSのバンドルIDを変更したので、FirebaseプロジェクトのバンドルIDと異なるバンドルIDになってしまっていたことが原因でした。
バンドルIDが一致するようにFirebaseを繋ぎ直したところこのエラーが解消されました。
バンドルIDを変更するときはFirebaseにも注意してみてください

Discussion