Open3

SwiftUI小ネタ(自分用メモ)

みはるんみはるん

Xcodeで新しいSwiftファイル追加するときUIKit時代のまま一番最初の「Swift File」選んでたけど、ちょっと下に「SwiftUI file」が存在してたのさっき気づいた。
気づいてないのもったいなかった。
choose a template for your new file

「SwiftUI file」を生成すると中身は定番のこれ↓

import SwiftUI

struct SwiftUIView: View {
    var body: some View {
        Text("Hello, World!")
    }
}

struct SwiftUIView_Previews: PreviewProvider {
    static var previews: some View {
        SwiftUIView()
    }
}
みはるんみはるん

Q. SwiftPMライブラリでPreviews使えない感じ?

A.
Swift Package Manager(SwiftPM)でのライブラリには、Xcode Previewsを直接サポートする機能はありません。Xcode Previewsは、SwiftUIのコードをリアルタイムでプレビューするためのツールですが、現在のところ、SwiftPMで管理されているライブラリでは直接利用することができません。

ただし、以下の方法でSwiftPMライブラリのプレビューを行うことができます。

  1. SwiftPMライブラリをローカルにクローンします。
  2. ライブラリのディレクトリに移動し、Package.swiftファイルが存在することを確認します。
  3. Xcodeで、File > New > SwiftUI Playgroundを選択して、新しいSwiftUI Playgroundを作成します。このPlaygroundをライブラリのディレクトリに保存します。
  4. 作成したPlaygroundで、ライブラリをインポートします。importステートメントを使用して、対象のライブラリをインポートしてください。
  5. ライブラリのコンポーネントやビューを使って、Playground内でコードを記述し、Xcode Previewsを使用してプレビューします。

この方法を使用することで、SwiftPMライブラリをプレビューすることができます。ただし、この方法ではライブラリの更新がリアルタイムに反映されないため、ライブラリのコードを変更した場合は、Playgroundを再度実行してプレビューを更新する必要があります。