アプリ開発日記 #111 ShellのアイコンとiOS版の対応

新しく作るアプリ

新しく作るアプリは、ビジネスパーソンのための日記アプリを考えています。
そして、ビジネスパーソン向けの日記アプリということですので、ターゲットとするユーザーを20~30代のビジネスパーソンに設定しようと考えています。

今日の作業

Xamarin.Formsでアイコンが表示できなかった問題を解決しました。

原因はとても単純でした。
というのもアイコンに使用していた画像が透過画像ではなかっただけでした。

実際にアイコンを透過画像に変更することで画面を表示することができました。

そして、iOS版のほうについても対応を始めました。
メインは画面レイアウトの修正となる予定でした。

しかし、実際はiOS版のダイアログの作成や、iOS版の場合に表示できない画面があるなどいろいろな問題が残っていました。
そのため、iOS版についても1つずつ問題を解決しているところです。

特にiOS版で画面が表示できない件については、唯一Tabbed Pageを使用していた画面であったため、ShellでTabbed Pageが使用できないのかと思いました。
しかし、調べた結果、ShellでもTabbed Pageを使うことは可能なようでした。

そして最終的な原因は画面にバインドするためのデータクラスがnullだったことが原因だとわかりました。
なぜnullとなっていたかというと、画面にバインドするためのデータクラスを非同期処理の中でTask.Runにより実行したメソッド内でnewをしてたためです。

そして画面にバインドするためのデータクラスをnewする位置をTask.Runにより実行したメソッドがあるクラスのコンストラクタへ変更することで、画面を表示することができました。

明日以降の作業

実装を進める<残っているところ>
iOSのダイアログの実装
iOSのスプラッシュ画面の実装
・非同期処理が原因のバグ
・レイアウトの調整
社畜判定機能の実装