Flutter: Macデスクトップアプリの審査で、メニューバーの言語が(localization)不統一のためリジェクト

※当サイトは、アフィリエイト広告を利用しています

結論:Xcodeの「Localizations」に「Japanese」を追加し、配信地域を限定する

2022/7/24 Flutter エラー・バグ日記

 

Mac用デスクトップアプリをAppStoreの審査に出したところ、以下の指摘(メニューバーの言語が混在している)が来てリジェクト。対応にかなり苦労した。。

 

Guideline 4.0 - Design
We noticed issues with your app's user interface that contribute to a lower-quality user experience than App Store users expect:
We found that your app UI includes mixed localization on menu
(Please see attached screenshot)

Next Steps
Please revise your app to address all instances of the issues identified above.

Resources
・To learn more about App Store design requirements, see App Store Review Guideline 4 - Design.
・Learn more about designing for macOS in the Human Interface Guidelines.

 

本記事はライトな日記思考で書いているので、詳細説明はしておらず、基本、テキストのみで画像とかは載せておりません。。m(_ _)m

解説記事ではないため、解決していない内容や、その時々の間違った解釈を述べてしまっている可能性が大いにありますので、何卒、ご了承ください。

 

下図のようなキャプチャも添付されていた。

 

 

メニューバーは、「menubar」プラグインを使って設置していたが(こちらの記事をご参照)、本プラグインでは、メニューバーに新規のメニュー項目は追加できるが、Macがデフォルトで用意している「アプリ名」、「Edit」、「View」、「Window」の項目は変更できない

 

Xcodeの「MainMenu」を編集すれば変更できるが、OS側が追加する項目は編集できない

デフォルトのメニュー項目を修正したい場合は、Xcode上で、「Runner/Resources」にある「MainMenu」ファイルを開き、下図のように表示されるツールバー部分をクリックすることで、各メニュー項目の表示・非表示、有効・無効、表記の修正等をすることができる。

 

 

この方法は、下記情報の中にある「XcodeでXIBを開く」というコメントを見て初めて知った。

 

 

※まだよく理解できていないが、Xcode上で開く「MainMenu」ファイルは、Android Studio内では、「macos/Runner/Base.Iproj」にある「MainMenu.xib」という設定ファイルと対応していると思われる。

 

そこで、「MainMenu」ファイルを編集して言語を日本語に統一しようと思ったが、実際のアプリのメニューバーに表示される「Start Dictation」や「Emoji & Symbols」という項目が、「MainMenu」のツールバーには表示されず、編集できないことに気づいた。。

 

「MainMenu」ファイルには無い「Start Dictation」や「Emoji & Symbols」が勝手に追加されてしまう。。

 

下記情報によると、「Start Dictation」や「Emoji & Symbols」はOS側で追加する項目らしく、Xcode側では修正できない模様。

 

 

 

「MainMenu」ファイルに表示されないと、日本語に修正できないので、言語を統一できず困る。。

 

Xcodeの「Runner」→「Info」→「Localizations」に「Japanese」を追加すると解決

苦慮しながら、色々調べていると、下記の情報を見つけた。

 

 

どうやら、Xcodeの「Runner」→「Info」にある「Localizations」のところで、「+」ボタンを押して、「Japanese」を追加すると、OS側の環境設定が日本語であれば、日本語を表示させることが可能な模様。

 

確かに「Japanese」を追加しただけで、「Start Dictation」と「Emoji & Symbols」が、「音声入力を開始」と「絵文字と記号」という日本語に自動的に切り替わった

 

 

また、「Resources/MainMenu」の下に、「MainMenu(Japanese)」というファイルが追加生成された。

 

 

追加生成されたままの状態だと、全て英語表記になっているが(ベースの英語版をコピーしただけの状態)、必要な箇所を日本語に修正することで、アプリのメニューバーの表記が、このファイルに設定した日本語に切り替わった。

 

再度リジェクトされたが、AppStoreで配信地域限定・プライマリ言語設定をアピールしたら通過

かくして、メニューバーの全表記を日本語に統一できたので一件落着、と思いきや、再びAppStoreのレビューで、「言語が混ざっている」とリジェクトされてしまった。

 

添付されていた画像を見ると、英語環境下のPCで起動している模様(審査するのは英語圏の方々なので、当然なのだろうが、、、)。

 

そこで、

 

Apple Store Connectの設定で、配信地域を日本のみ、プライマリ言語も日本語に限定しているので、日本語環境下で起動すれば、言語は混じらないので、大丈夫だと思います!

 

という趣旨を「App Review」から返信したところ、OKの返信が来て、無事、審査を通過できた。

 

やっとのことで、初のMacデスクトップアプリをAppStoreにリリースできたが、なかなか大変だった。。

 

↓リリースしたMac用アプリ

BasicMemo Macデスクトップアプリ版

Download on the App Store

 

 

\一般的なエラー対処法をまとめた記事はこちら/

 

リリースしたアプリ(全てFlutterで開発)

 

個人アプリ開発で役立ったもの

おすすめの学習教材

超初心者向けでオススメな元Udemyの講座/

 

 \キャンペーン時を狙えば安価で網羅的な内容が学べる(日本語訳あり)/

 

\Gitの基礎について無料で学べる/

 

おすすめの学習書籍

実用的image_pickerに関してかなり助けられた/

 

Dartの基礎文法を素早くインプットできる/


Dart入門 - Dartの要点をつかむためのクイックツアー

タイトルとURLをコピーしました