40代からのフリーランス

Ruby on RailsとiOS(Swift、Objective-C)でスタートアップのサービス開発を支援しています。

アセットカラーがダークモードで適用されない時は・・・

結論を先に書くとプロジェクトファイルを作り直したほうがいいみたい

 

まずどんな現象が起こっているのか確認

  • 前提としてアセットカラーを使用
  • アセットカラーではダークモードとそれ以外のカラーを設定
  • ストーリーボードの表示切り替えではダークモードになる
  • ところが実行してみるとダークモードに設定したカラーにならない

こんなところです

ちなみに実行は実機でしかやってません

シミュレーター環境では動かないアプリなので・・・

 

Xcodeのバグかどうかの切り分けとして

新規でプロジェクト作成してみました

当然ですがうまくいきます

 

次に問題が発生するプロジェクト内で

新しいストーリーボードを作成してみました

問題は解決しません

 

ということで多分プロジェクトファイルに何かある気がします

今やってるプロジェクト作られたのが5年以上前です

この辺も関係している気がします

 

ストーリーボードの作り直しは結構キツかったので

新しく作っても無駄だということがわかってよかったです

 

ということで次はプロジェクトファイルの作り直しにチャレンジ

 

それなりに大きなプロジェクトなので

ライブラリ部分は置いておいて

ベースのアプリ部分だけで確認すると・・・

 

やった!

アセットカラーが適用できてる!

 

ということでやっぱり古すぎるXcodeのプロジェクトは

不具合が出ることがあるみたい

何が違うかは正直さっぱり・・・

 

しかたがない

全面的にプロジェクトファイルを作り直します・・・