スクリーンショット_2019-09-24_7

Xcode11の変更点いろいろ

Xcodeを11 にアップグレードしてから、「プロジェクトを立ち上げるとMain.storyboardが見当たらない?」 困った初心者からの質問があったので、SwiftUIではなく従来の方法でiPhoneアプリを作る方法について書いていきます。

大幅に変わったXcode11

Xcode11ではSwiftUIという新しいフレームワークが加わりました。また、ディベロッパーIDをビルドID、デバッグIDと役割ごとに複数表示することも可能になりました。こうした変更に伴い画面設定が変わったので、プロジェクト作成をこれまでの手順で行おうとすると「あれ? どこにいったの?」と戸惑うこともしばしば。これまでMain.storyboardからデザイン画面を作ることに慣れている人が最初に色々引っかってしまう時のために、要点をいくつか挙げておきます。

プロジェクトを立ち上げる時

以前のバージョンでiPhoneアプリを作るときは当然のようにViewContorollerから始めていたのですが、11からは画面デザインの方法をSwiftUIとViewContorollerの2種類から選択するようになっています。ユーザーインターフェース管理でSwiftUIがデフォルトになっているのに気づかず、いつものようにプロジェクト名だけ記入して立ち上げると「Main.storyboardとViewContoroller.swiftがない!」と困惑する事態に陥ります。

その場合は、最初にプロジェクトのオプションを記入する画面(プロジェクト名や製作者を入力する画面)で、「User Interface」の欄を「Storyboard」にしましょう。

画像2

これで従来通りMain.Storyboardを使ってデザインすることができます。

ディベロッパーIDの管理がGeneralから分離

プロジェクトを立ち上げてGeneralの画面を見ると、一番上にプロジェクト名などがあるのは以前と一緒ですが、ディベロッパーIDは別画面で管理するようになりました。「General」の横にある「Signing&Capabilities」をタップするとID管理画面が開きます。

また、ターゲットのiOSバージョン変更欄も前より表示がシンプルになったので見落としがちです。下の図の位置にあります。

画像2

デザイン画面の変更

デザイン画面では、画面分割のアイコンが変更になり、配置も少し変わりました。オブジェクトのアイコンは、代わりに「+」アイコンが表示されています。

画像4

「+」ボタンをタップすると、オブジェクトの他に基本的なアイコン画像も入っています。imageViewを配置して他で取得した画像を入れ込むといった面倒な手間が減りました。

画像5

バージョンを下げて作るとエラーが大量に出る

アプリを作る場合、iOSが最新でないデバイスでも機能するよう対象バージョンを下げて作ることがほとんどだと思いますが、Xcode11で最新のiOS13ではないバージョンでアプリを作成すると、ビルド時に大量のエラーが発生します。

画像3

これは、Xcode11がiOS13から加わった新しいSwiftUIというフレームワークを標準としているため、それ以前のバージョンの基準では対応していない新しいコードがたくさん出てくるというわけです。これについては一つひとつのエラーをFixで自動修正すればエラーは消え、シミュレーターや最新のiOSの実機では問題なく起動できます。

実機にビルドする時はiOSのバージョンは最新に

ところが古いバージョン(11.0)で作成したアプリを対応バージョン(12.4)の実機にビルドすると、起動画面は出るものの、その後の開始画面が真っ黒でまったく反応しないというエラーが起こります。これは実機を最新のiOSにすると正常に表示されました。

現段階ではXcode11で作ったアプリは、最新版のiOSを入れていない実機では動かないようです。今後修正されるかもしれませんが、アプリ製作者は注意が必要ですね。






この記事が気に入ったら、サポートをしてみませんか?気軽にクリエイターを支援できます。

ありがとうございます!

やこ

40代にしてプログラミングの勉強を始めました。swiftやmicro:bitについてあれこれ書いていきます。時々3Dプリンターについてもメモします。
コメントを投稿するには、 ログイン または 会員登録 をする必要があります。