I referred to the code provided in the article Adding and Editing Persistent Data in Your App in the SwiftData documentation and tested the "/PreviewHelper" approach. I found that if a model class contains a property of a struct, and that struct includes a Set property or an Array property, the Preview would throw an error. Here is an example of the model:
@Model
class Book {
// ...
var someStruct: SomeStruct
// ...
}
struct SomeStruct: Codable {
// ...
var someCollection: Set<Int>
// ...
}
In actuality, this model can run and store data without any issues, but it fails to run in the Preview. Is there a problem with the implementation of this Preview or is there any other reason? Are there better ways to perform Preview in SwiftData?
Xcode Previews
RSS for tagCreate an app UI and configure almost everything your users see using Xcode Previews.
Posts under Xcode Previews tag
139 Posts
Sort by:
Post
Replies
Boosts
Views
Activity
Hi,
I have had this issue since I started working again in iOS this year with Xcode 15.
What happened to the SwiftUI Previews?
My problem is that they are stuck forever in the Loading screen "Preparing iPhone Simulator for Previews".
I now test the code on the actual Simulator and waiting for Xcode 16 to fix this.
The characteristics of my project are:
Using Swift Package Manager (10+ dependencies)
Using Unit Tests and Test Plans.
Using macOS Ventura (reverted from Sonoma because it's even worse)
Macbook Air M1 - 16GB of RAM.
I have tried everything including:
Erasing derived data.
Restarting.
Reinstalling the whole computer.
Reverting Sonoma to Ventura.
Reverting Xcode 15.2 to 15.1 and 15.0.1.
Using Previews_Provider and #Previews {}
Using completely empty projects to test previews.
Please help.
Thanks
Recently my live preview canvas on Xcode recently stopped accepting my keyboard inputs out of the blue when I type in a textField. Has this bug been addressed? I'm on iOS sim 17.4, Xcode 15.3
I am not able to use swiftUI preview in my project.
i have attached the diagnosed report for the same.
Please update.
previews_diagnostics_summary.txt
Sorry about my English, I'm using a translator.
I'm taking a programming course with Swift in Xcode and one of the steps is to drag a control from the library into the view to place it below another control (both are "text").
In the preview, there is a text in the center of the mobile screen.
In the video, open the library window with Shift + Command + L; then drag a "text" control to the preview that simulates a mobile phone and a stripe appears below the text control that I mentioned before, which means that that text will be placed below it. If you put it on top, then the line appears on top and the same if you put it on the sides.
I have the option that appears below the phone, the one that says "Selectable", activated, so that I can select what I want in that phone simulation.
The fact is that when I drag the text control from the library and try to put it below or in another position with respect to the text that already exists, it does nothing. The stripes do not appear, nor do you set the control.
What could it be due to? I am using Xcode 15.3
Thank you.
Preview Canvas in The editor stopped showing up. I closed it and did everything I saw on the forum, but it still did not work. I also noticed that in some SwiftView it shows the preview, but it does not the same with the others.
Hi all,
I am trying to create a widget for my app but I cannot use the Preview feature of Xcode.
Xcode enters a build loop and builds the project over and over. There is no error or message. There is only a loading spinner and lots of build.
It doesn't matter how much time I wait, it never finishes.
I tried to clean the build folder, delete all preview simulators, quit, and reopen the XCode but nothing helped.
Hello! I'm studying swift in college now, and have encountered a problem previewing my code using canvas. Here's part of the code:
struct ContentView: View {
......(omitted)
var body: some View{
ScrollView{
cards
Spacer()
cardsAdjuster
}
}
The canvas panel looks all right with the line "ScrollView", as the image shows, with the only problem that "cardsAdjuster" moves with the cards.
But if I remove the line "ScrollView", the panel went wrong:
As the image displays, all parts of body are displayed separately, and I can't find any setting options to merge them. (Take a look at the top of the screenshot)
The problem is also found on my classmate's Xcode 12 running on macOS Monterey.
Looking forward to your reply and thoughts. Thank you all!!
Menu > Editor > Canvas > Export Preview Screenshot
Got error message:
Stream with endpoint 'C5C6DCA4-D146-451F-8BA8-AF83657E4CC7' is invalidated
I don't collect diagnostic data.
I am new to Xcode and trying to learn and having issues with errors it seems. I believe the problem is specifically with my code not being able to be displayed on the example iPhone on the right hand side of the screen. Here are the 2 errors I receive below. The codes at the very bottom are red on my screen so I am guessing those are what is most important out of all of this.
Thanks and please let me know if I can answer any additional questions regarding this.
Ld /Users/tward/Library/Developer/Xcode/DerivedData/Playground-aoepzfpfzcxxqggglpllgxkoywsr/Build/Intermediates.noindex/Previews/Playground/Products/Debug-iphonesimulator/Playground.app/Playground normal (in target 'Playground' from project 'Playground')
cd /Users/tward/Desktop/Playground.swiftpm
/Users/tward/Downloads/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -Xlinker -reproducible -target x86_64-apple-ios15.2-simulator -isysroot /Users/tward/Downloads/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator16.4.sdk -L/Users/tward/Library/Developer/Xcode/DerivedData/Playground-aoepzfpfzcxxqggglpllgxkoywsr/Build/Intermediates.noindex/Previews/Playground/Intermediates.noindex/EagerLinkingTBDs/Debug-iphonesimulator -L/Users/tward/Library/Developer/Xcode/DerivedData/Playground-aoepzfpfzcxxqggglpllgxkoywsr/Build/Intermediates.noindex/Previews/Playground/Products/Debug-iphonesimulator -L/Users/tward/Downloads/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/lib -F/Users/tward/Library/Developer/Xcode/DerivedData/Playground-aoepzfpfzcxxqggglpllgxkoywsr/Build/Intermediates.noindex/Previews/Playground/Intermediates.noindex/EagerLinkingTBDs/Debug-iphonesimulator -F/Users/tward/Library/Developer/Xcode/DerivedData/Playground-aoepzfpfzcxxqggglpllgxkoywsr/Build/Intermediates.noindex/Previews/Playground/Products/Debug-iphonesimulator -F/Users/tward/Downloads/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/Library/Frameworks -iframework /Users/tward/Downloads/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/Library/Frameworks -iframework /Users/tward/Downloads/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator16.4.sdk/Developer/Library/Frameworks -filelist /Users/tward/Library/Developer/Xcode/DerivedData/Playground-aoepzfpfzcxxqggglpllgxkoywsr/Build/Intermediates.noindex/Previews/Playground/Intermediates.noindex/Playground.build/Debug-iphonesimulator/Playground.build/Objects-normal/x86_64/Playground.LinkFileList -Xlinker -rpath -Xlinker @executable_path/../lib -dead_strip -Xlinker -object_path_lto -Xlinker /Users/tward/Library/Developer/Xcode/DerivedData/Playground-aoepzfpfzcxxqggglpllgxkoywsr/Build/Intermediates.noindex/Previews/Playground/Intermediates.noindex/Playground.build/Debug-iphonesimulator/Playground.build/Objects-normal/x86_64/Playground_lto.o -Xlinker -export_dynamic -Xlinker -no_deduplicate -Xlinker -objc_abi_version -Xlinker 2 -fobjc-link-runtime -L/Users/tward/Downloads/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/iphonesimulator -L/usr/lib/swift -Xlinker -add_ast_path -Xlinker /Users/tward/Library/Developer/Xcode/DerivedData/Playground-aoepzfpfzcxxqggglpllgxkoywsr/Build/Intermediates.noindex/Previews/Playground/Intermediates.noindex/Playground.build/Debug-iphonesimulator/Playground.build/Objects-normal/x86_64/Playground.swiftmodule -Xlinker -sectcreate -Xlinker __TEXT -Xlinker __entitlements -Xlinker /Users/tward/Library/Developer/Xcode/DerivedData/Playground-aoepzfpfzcxxqggglpllgxkoywsr/Build/Intermediates.noindex/Previews/Playground/Intermediates.noindex/Playground.build/Debug-iphonesimulator/Playground.build/Playground.app-Simulated.xcent -Xlinker -sectcreate -Xlinker __TEXT -Xlinker __ents_der -Xlinker /Users/tward/Library/Developer/Xcode/DerivedData/Playground-aoepzfpfzcxxqggglpllgxkoywsr/Build/Intermediates.noindex/Previews/Playground/Intermediates.noindex/Playground.build/Debug-iphonesimulator/Playground.build/Playground.app-Simulated.xcent.der -Xlinker -no_adhoc_codesign -Xlinker -dependency_info -Xlinker /Users/tward/Library/Developer/Xcode/DerivedData/Playground-aoepzfpfzcxxqggglpllgxkoywsr/Build/Intermediates.noindex/Previews/Playground/Intermediates.noindex/Playground.build/Debug-iphonesimulator/Playground.build/Objects-normal/x86_64/Playground_dependency_info.dat -o /Users/tward/Library/Developer/Xcode/DerivedData/Playground-aoepzfpfzcxxqggglpllgxkoywsr/Build/Intermediates.noindex/Previews/Playground/Products/Debug-iphonesimulator/Playground.app/Playground
ld: entry point (_main) undefined. for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
SwiftUI Previews that work in Xcode 15.2 now fail in Xcode 15.3 with failedToGenerateThunkInfo error
I have a Swift Package Manager module with some SwiftUI files that I was using Previews without issues in Xcode 15.2. When I upgraded to Xcode 15.3, it fails with “Cannot preview in this file. Unexpected error occurred”. When I click to get more info, this is the error:
== PREVIEW UPDATE ERROR:
HumanReadableSwiftError
BuildError: failedToGenerateThunkInfo(could not generate preview info: noTargetBuildGraph)
Is anyone experiencing the same problems? My preview, which lives in a SPM package, works totally fine in Xcode 15.2, but fails in Xcode 15.3. Any ideas for how to fix it? I've tried deleting DerivedData, resetting package caches, clean building.
So frustrating seeing these regression issues popping up still.
I filed FB13678356 but it was quickly marked as "Investigation Complete - Unable to diagnose with current information" but there was no request for what further information I could provide! I attached a full sysdiagnose and error log!
Would also note, that when I revert back to Xcode 15.2, the previews go back to working...
I keep getting the error: "Embedded binary is not signed with the same certificate as the parent app. Verify the embedded binary target's code sign settings match the parent app's."
I don't know why. The only thing I can think of is that my iPhone is signed into a different Apple ID than the one I'm using for my Xcode signing. But I'm not sure because I can't find any info about it online.
The preview or editor canvas is not working in my xcode app. I have updated my computer, updated the app, deleted and reinstalled the app, done cmd+shift+k, turned off automatically refresh canvas, tried previewing it on an older model iphone, but havent found a solution. Message me for my feedback id and disagnostic report, because it is not leeting me add it without being flagged for sensitive content
I'm trying to preview a SwiftUI view that resides in a local Swift package. I have the Swift package selected as the current scheme, so all the proper dependencies are available and the build succeeds. But I see this message in the Preview window:
Cannot show preview: check whether the preview is compiled for the current scheme and OS of the device used for previewing
How do I ensure the preview is compiled for a particular scheme and device OS?
I updated MacOS to 14.3.1 and Xcode to 15.3 in the hopes that that might fix this issue, but it did not.
Building in visionOS and one of my Swift UI views keeps causing Xcode to crash. The root issue is within the preview code, stuck on updating the preview code to prevent Xcode from crashing. When I run the simulator the app works perfectly, no bugs or issues. Any advice on how to update the preview code would be very helpful :)
import RealityKit
import RealityKitContent
struct BrandImage: View {
@State private var currentIndex: Int = 0
@Environment(\.openWindow) private var openWindow
@EnvironmentObject var sharedAppState: SharedAppState
var brand: [BrandEcommData]
var initialBrand: BrandEcommData
init(brand: [BrandEcommData], initialBrand: BrandEcommData) {
self.brand = brand
self.initialBrand = initialBrand
if let initialIndex = brand.firstIndex(where: { $0.id == initialBrand.id}) {
_currentIndex = State(initialValue: initialIndex)
}
}
var body: some View {
HStack(spacing: 0) {
ZStack {
ForEach(0..<brand.count, id: \.self) { index in
if index == currentIndex {
VStack {
Text(brand[index].brand)
.padding(.top, 5)
brand[index].image
.resizable()
.scaledToFit()
}
.transition(.scale)
}
}
HStack {
Button(action: {
withAnimation {
self.currentIndex = (self.currentIndex - 1 + brand.count) % brand.count
sharedAppState.currentModelId = brand[currentIndex].id
}
}) {
Image(systemName: "arrow.left.circle.fill")
.font(.largeTitle)
.foregroundStyle(.linearGradient(
colors: [.black, .gray],
startPoint: .top,
endPoint: .bottom))
}
.padding(.leading, 20)
Spacer()
Button(action: {
withAnimation {
self.currentIndex = (self.currentIndex + 1) % brand.count
sharedAppState.currentModelId = brand[currentIndex].id
}
}) {
Image(systemName: "arrow.right.circle.fill")
.font(.largeTitle)
.foregroundStyle(.linearGradient(
colors: [.black, .gray],
startPoint: .top,
endPoint: .bottom))
}
.padding(.trailing, 20)
}
VStack {
HStack {
Spacer()
Button(action: {
openWindow(id: "volumetric")
})
{
Image(systemName: "cube.transparent")
.font(.title)
.padding()
.foregroundStyle(.linearGradient(
colors: [.black, .gray],
startPoint: .top,
endPoint: .bottom))
}
}
Spacer()
}
}
.frame(maxWidth: .infinity)
Rectangle()
.frame(width: 2)
.foregroundStyle(.linearGradient(
colors: [.black, .gray],
startPoint: .top,
endPoint: .bottom))
VStack {
Text(brand[currentIndex].name)
.font(.title2)
Text(brand[currentIndex].itemDetail)
.font(.subheadline)
Text(brand[currentIndex].itemDescription)
.padding()
Text(brand[currentIndex].price)
}
}
.onAppear {
sharedAppState.currentModelId = initialBrand.id
}
}
}
#Preview {
if let initialBrand = ecommdata?.first {
BrandImage(brand: ecommdata!, initialBrand: initialBrand)
} else {
Text("Unable to load 3D Asset")
}
}
I am working on a 2018 Macbook Air. Here is the diagnostic that is generated.
previews_diagnostics_summary.txt
Anyone else having issues in Xcode preview where when you tap on a button to open a volume window nothing appears in the Xcode preview window?
For example, if you download the Hello World Xcode project and try to open the globe volume after tapping the toggle button, the globe volume window never opens.
Running the latest version of Xcode 15.3 beta.
Does an 'archive build' require 'preview content'?
I've put swift source files into 'Preview Content' directories - one directory for the top-level App and one for an embedded framework. An 'archive build' fails, complaining about the code in a #Preview block.
#Preview {
// the archive build fails to find this `default` ??
let controller = PersistenceControllerTopLevelPreview.default
let user = controller.user
...
The framework has its 'Preview Context' specified in the Development Assets; same with the top-level App.
I can select Orientation Variants to show in the preview by selecting that option in the bottom left corner of the canvas. How do I unselect it?
Is the preview set to read-only mode in Xcode 15? Drag and drop of any library items to preview canvas doesn't work.
Is this feature removed in Xcode 15? (I don't want to believe that it was so helpful)