読者です 読者をやめる 読者になる 読者になる

酢ろぐ!

カレーが嫌いなスマートフォンアプリプログラマのブログ。

Windows Bridge for iOSではUISplitViewControllerを使うと画面が表示されなくなるようです

iPhone Windows

Windows Bridge for iOSは、Objective-Cで書かれたiOSアプリをWindowsアプリに変換するソリューションです。詳しくはこちらの記事を御覧ください。

先日、storyboardで定義したUITableViewControllerのプロジェクトを変換して、Windows側で実行するとなぜかセルが表示されない💢 という記事を書きました。

この認識は間違ってたかもしれない……ひょっとするとナビゲーションバーとセルが表示されていないのではなくて、画面そのものが表示されていないのではないかと考えました。

改めてXcodeのウィザードで生成されたMaster-Detail ApplicationのMain.storyboardを眺めていました。この小さなアプリの画面遷移の全てが定義されているstoryboardです。

f:id:ch3cooh393:20160717005850p:plain

Windows Bridge for iOS SDKの最新バージョンで初めてstoryboardが変換できるようにサポートされたようで、ひとつのstoryboardに多くの要素を入れると正しく解釈できなくなるのではないかと推測しました

UISplitViewControllerをstoryboardから削除すると画面が表示されるようになった

UISplitViewControllerを使うのをやめて、いきなりUINavigationViewControllerを表示させるようにしました。

f:id:ch3cooh393:20160717005926p:plain

ガーン!普通に表示されるじゃないか。

f:id:ch3cooh393:20160717010052p:plain

結論としては、UISplitViewControllerを使うとWindows側で正しく表示されないでした。

GitHubに類似事象のIssueが起票されていました

GitHubにIssueも登録されていましたがUISplitViewControllerは使用頻度が低いらしいのでサポートされるのはまだ先のことなのかもしれません。