AppSeedのアプリ開発ブログ

アプリ開発会社AppSeed(アップシード)開発担当のブログです。iOS、Android、Unity、Cocos2d-xなどアプリ開発関連のTipsや備忘録、アプリ開発に役立つ情報を発信します。

iOS13のダークモードの罠【iOSアプリ開発】

AppleがiOS13をリリースしてから1ヶ月程度経ちましたが、

iOS13リリース後、初めてアプリをアップデートした際に遭遇した問題に関するメモ。

Xcode11でアプリをビルドする場合、設定を追加しておかないとダークモード時に表示がおかしくなるので注意が必要です。

 

Xcode11でアプリをビルドしてリリースしたら、ユーザーからいつもとは違うバグ報告があった

 

グラフ画像を簡単に作成できるアプリ -GraPho-

グラフ画像を簡単に作成できるアプリ -GraPho-

  • Youhei Kijima
  • エンターテインメント
  • 無料

apps.apple.com

 

Graphoというグラフ画像作成アプリを作っているのですが、最近、以前報告を受けたバグを修正して、アプリをリリースしました。

iOS13がリリースされたこともあり、Xcode11にアップデートしないとアプリビルドができないので、Xcode11にアップデートしてアプリビルド、リリースしました。

 

アプリリリース後、2日くらいしてからユーザーさんからいつもとは違った感じのメールを頂きました。

 

問い合わせメール1

バグってますよ

 

問い合わせメール2

グラフのタイトルやデータの名前が打っても表示されません。
これはキーボードの問題なのでしょうか?
データの名前に関してはグラフが出来上がった時名前は見えるのですが、タイトルが見えなくて不便です。
仕様ならしょうがないと割り切れるのですが、バグだと言うのならば対処法を教えて頂けると幸いです。 

 

1個目のメールの内容的に、どこがおかしいとかではなく、あからさまにバグっているって感じだったので、すぐにアプリを確認してみたのですが、とりあえず確認した感じでは何も問題ありませんでした。

で、2個目のメールの内容的に、データの表示がおかしくなっているっぽかったのですが、今まで報告を受けてきた内容とは全く違った内容だったので、やはりiOS13へのアップデートが何かしらの影響を与えているっぽいということで詳しく調べることにしました。

 

 

iOS13のダークモード時にアプリがおかしくなっていた

 

色々調べているうちにiOS13リリース直前くらいにアプリ開発者界隈でちょっと話題になっていた、iOS13対応や、iOS13のダークモード対応の話を思い出しました。

 

もしかしたらダークモードにした時におかしくなっているのかも?

ということで、ダークモードに切り替えてからアプリを見てみたら、案の定バグってました↓

iOS13のダークモードの罠【iOSアプリ開発】

正常な場合、テキスト入力部分にテキストが表示されるのですが、ダークモード表示に切り替えると、テキストが表示されない状態(おそらくテキストの色が白とかになっている状態)になってました。

 

僕もつい最近までダークモード表示にしていたのですが、最近になってライトモードに戻していたので気づかなかったようです。

僕自身も今iPhoneがダークモードかライトモードなのか気にしていなかったので、アプリユーザーの方もダークモードの切り替えていることを忘れていて、明らかにバグってんじゃねーかってなってしまったようです。(すみません...)

 

アプリ開発】iOS13のダークモードへの応急処置

qiita.com

調べて見ると、iOS13のダークモード対応をちゃんとやる場合、色々設定を行う必要があるようです。

が、バタバタしていてそこまで時間が取れないので、とりあえず上記の記事で紹介されている応急処置的な対応を行いました。

 

 

info.plist に UIUserInterfaceStyle キーを追加して Value を Light にすれば良いです。 

上記の対応をすれば、ダークモードの場合でもアプリはライトモードと同様の表示になるので、今まで通りの表示のままにできます。

 

 

Xcode11でアプリをビルドする際の注意点

Xcode11でアプリをビルドする場合、上記の設定をやらないとiOSアプリはダークモード対応設定になってしまうので、僕のアプリのようにダークモードに切り替えたiPhoneで表示がおかしくなってしまうという問題が発生してしまいます。

なので、Xcode11でアプリをビルドする場合は上記の設定を行うか、きちんとダークモード対応するかをしないといけないようです。

 

とりあえずライトモード設定であれば問題はないのですが、せっかくなので時間ができたらダークモード対応も行いたいと思います。