Apple Watch Extension を使用して iOS で使用している SwiftUI ビューのサンプルがあり、WatchOS の「デバイス」でプレビューしようとすると、このエラーが発生します。
実行先のiPhone 12 miniは有効ではありませんスキーム「TestApp WatchKit App」を実行していますすべてを試しました。ここで提案されているようにXcodeを再起動することは、最初のことの1つでした。
Apple Watch Extension を使用して iOS で使用している SwiftUI ビューのサンプルがあり、WatchOS の「デバイス」でプレビューしようとすると、このエラーが発生します。
実行先のiPhone 12 miniは有効ではありませんスキーム「TestApp WatchKit App」を実行していますすべてを試しました。ここで提案されているようにXcodeを再起動することは、最初のことの1つでした。
最終的に「動作」させる方法は、固定されたプレビューを使用することでした。
これは私のサンプル ビューです。「SharedViews」フォルダーにあり、TestApp のターゲット メンバーシップと TestApp WatchKit 拡張機能を持っています。
struct CustomTextView: View {
let caption: String
let foreground: Color
var body: some View {
VStack {
Text(caption)
.padding()
Text("Colored\r" + caption)
.foregroundColor(foreground)
.padding()
}
}
}
//struct CustomTextView_Previews: PreviewProvider {
// static var previews: some View {
// CustomTextView(caption: "Shared Preview", foreground: .blue)
// }
//}
ウォッチ デバイスでこのビューをプレビューするために、TestApp WatchKit 拡張機能で「ヘルパー」フォルダーを作成し、この中に TestApp WatchKit 拡張機能のメンバーのみである「コンテナー ビュー」を作成しました。
struct CustomTextViewWatchPreview: View {
var body: some View {
CustomTextView(caption: "Watch Preview Container", foreground: .red)
}
}
struct CustomTextViewWatchPreview_Previews: PreviewProvider {
static var previews: some View {
CustomTextViewWatchPreview()
}
}
CustomTextView をプレビューするには、..Preview ファイルを開き、プレビューを固定します。次に、CustomTextView ファイルに戻り、変更を適用して、ピン留めされたプレビューで確認します。「プレビューできません...」というエラーを取り除くために、上記のように CustomTextView の独自のプレビューをコメントアウトします。
iPhone でプレビューするには、実行ターゲットを変更し、独自のプレビューのコメントを外し、Watch Preview の固定を解除します。
誰かがより良い解決策を持っていますか? おそらく、iPhone と Apple Watch でビューを同時にプレビューできるものでしょうか?