- シートの上部のプラットフォーム選択肢から「iOS」を選択し、「Application」の「Single View App」を選択し、「Next」ボタンをクリックします。
Xcode 12では、「Single View App」テンプレートの名前が変更されました。Xcode 12では「Application」の「App」を選択してください。
以下の様にプロジェクトのオプションが変更されています。
Xcode 11 | Xcode 12 |
---|---|
User Interface | Interface |
Include UI Tests | Include Tests に統合 |
Include Unit Tests | Include Tests に統合 |
「Life Cycle」は「UIKit App Delegate」を選択してください。
iOS 14からアプリ全体をすべてSwiftUIだけで記述できるようになりました。 iOS 13で導入されたSwiftUIは、 ContentView
を表示する処理はUIKitで実装されています。この処理もSwiftUIだけで実装できるようにしたのが「SwiftUI App」です。
ライフサイクルによって、プロジェクトの初期構成が変わります。
UIKit App Delegate | SwiftUI App |
---|---|
AppDelegate.swift | 使いません。 HelloSwiftUIApp.swift を使います |
SceneDelegate.swift | 使いません。HelloSwiftUIApp.swift を使います |
ContentView.swift | 同じです |
Assets.xcassets | 同じです |
LaunchScreen.storyboard | 使いません |
Info.plist | 一部変わります(LaunchScreenに関する定義など) |
Preview Assets.xcassets | 同じです |
生成される ContentView.swift
の内容も少し異なります。次のように padding()
モディファイアが使われたコードになります。
import SwiftUI
struct ContentView: View {
var body: some View {
Text("Hello, world!")
.padding()
}
}
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView()
}
}
「Show Attributes Inspector」は「Attributes」というタイトルに変わっています。
Xcode 12のプレビューやiOS 14では、ピッカーのラベルは表示されない動作に変わりました。
iOS 14では DatePicker
のデザインが変わっています。
iOS 14では「文字サイズを変更」が「テキストサイズを変更」に変わっています。
iOS 14には以下のプロパティが追加されています。
生成されるコードが変わっています。 View
を任意の色に変更してください。
.background(Color.blue)
↓
.background(View)
Xcode 12ではデフォルトで「Any, Dark」が選択されています。
Xcode 12ではこの問題は修正されています。