SwiftUIのプレビューデバイスを設定する方法
SwiftUIで開発している時、特定の端末または複数の端末でプレビューをみたい時がありますよね。そんな願いを叶える方法です。(SwiftUIチュートリアルをやったことある人は知っているはず)
次のコード内の2つ目のstructのSwiftUIView_Previewsがプレビューに関するコードです。この部分にコードを加えて、プレビューデバイスを設定します。
SwiftUIView.swift
import SwiftUI
struct SwiftUIView: View {
var body: some View {
Text("Hello, World!")
}
}
/// 以下のコードがプレビューに関するコード
struct SwiftUIView_Previews: PreviewProvider {
static var previews: some View {
SwiftUIView()
}
}
1 特定の端末のプレビューデバイスを設定する
1-1 実装方法
SwiftUIView.swift
struct SwiftUIView_Previews: PreviewProvider {
static var previews: some View {
SwiftUIView()
/// 以下の行を追加
.previewDevice(PreviewDevice(rawValue: "iPhone X"))
}
}
1-2 実行結果


3 設定できる端末例
端末一覧(iPhoneのみ).swift
"iPhone 7"
"iPhone 7 Plus"
"iPhone 8"
"iPhone 8 Plus"
"iPhone SE"
"iPhone X"
"iPhone Xs"
"iPhone Xs Max"
"iPhone Xʀ"
4 プレビューデバイスを設定を設定していない場合は?
TARGETSのDeployment Info内のDeviceからXcodeが自動選択しているようです。
5 参考ページ
AppleDevelopper(.previewDeviceについて)
Hacking with Swift(id: .selfについて)