Hello,
I am a UIKit developer and I would like to try out SwiftUI.
Unfortunately, my previews don't load.
My situation is like the one described in this blog post: https://forums.developer.apple.com/forums/thread/704036.
Unfortunately I can't update Xcode like that developer did.
What I've tried: quitting and restarting Xcode, restarting my computer, resetting the simulator, deleting the derived data folder, creating new projects without storage options, test bundles or source control, editing the content view of the initial Hello World file.
To be clear, I've just started learning about SwiftUI, just yesterday evening, and the previews have never loaded.
Is the problem solvable?
If so, how?
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
Whenever we include the mergeable configuration on an xcframework which contains a SwiftUI preview, the preview can't compile. That's because it is trying to keep the dynamic configuration but on a binary type that is not a dynamic library.
It fails with the error:
Linking failed: linker command failed with exit code 1 (use -v to see invocation)
1d: -make_mergeable can only be used when creating a dynamic library clang: error: linker command failed with exit code 1 (use -v to see invocation)
That's only happening when we add the preview.
Hello,
Very recently, the following code has automatically appeared at the bottom of three of my SwiftUI View files:
@available(iOS 17.0, macOS 14.0, tvOS 17.0, visionOS 1.0, watchOS 10.0, *)
struct $s10Accent_Ace33_0BADA584A03144EFDAB57154E6FD3FBALl7PreviewfMf_15PreviewRegistryfMu_: DeveloperToolsSupport.PreviewRegistry {
static let fileID: String = "Accent_Ace/HistoryView.swift"
static let line: Int = 47
static let column: Int = 1
static func makePreview() throws -> DeveloperToolsSupport.Preview {
DeveloperToolsSupport.Preview {
let randomWord1 = FetchWord.getRandomWord()
let randomWord2 = FetchWord.getRandomWord()
@State var randomWords = [Word(word: randomWord1.0, IPA: randomWord1.1, lineNumber: randomWord1.2), Word(word: randomWord2.0, IPA: randomWord2.1, lineNumber: randomWord2.2)]
HistoryView(words: $randomWords)
}
}
}
This is from one of my files but it's very similar in the other two. It seems to have something to do with my previews.
The problem is that this code generates an error: Ambiguous use of 'init(_:traits:body:)'. My previews worked just fine before the auto-generated code appeared, so I tried deleting it. However, it automatically comes back no matter how many times I get rid of it. It's preventing me from building my App Playground, so I can't run the app or even see the previews. Does anyone know how to get rid of it or fix the error?
Thanks for the help!
I've setup a NavigationLink so users can tap on the image and they're taken to another view, in this case "FenderExperience". I can't for the life of me figure out how to make this oval bar behind the image disappear. Is this an Xcode preview issue? I'm running Xcode 15.2
struct BrandImage: View {
var body: some View {
VStack(alignment: .leading) {
NavigationStack {
Text("Ralph Lauren")
.font(.title)
.padding(.bottom, -5)
Image("RL")
.resizable()
.scaledToFit()
.frame(width: 300, height: 200)
.overlay(
RoundedRectangle(cornerRadius: 0)
.stroke(Color.white, lineWidth: 2))
Text("Fender")
.font(.title)
.padding(.bottom, -5)
NavigationLink(destination: FenderXperience()) {
Image("Fender II")
.resizable()
.scaledToFit()
.frame(width: 300, height: 95)
.overlay(
RoundedRectangle(cornerRadius: 0)
.stroke(Color.white, lineWidth: 2))
}
Text("Burton")
.font(.title)
.padding(.bottom, -5)
Image("Burton")
.resizable()
.scaledToFit()
.frame(width: 300, height: 200)
.overlay(
RoundedRectangle(cornerRadius: 0)
.stroke(Color.white, lineWidth: 2))
Text("Ray Ban")
.font(.title)
.padding(.bottom, -5)
Image("Ray Ban")
.resizable()
.scaledToFit()
.frame(width: 300, height: 200)
.overlay(
RoundedRectangle(cornerRadius: 0)
.stroke(Color.white, lineWidth: 2))
Text("Levi's")
.font(.title)
.padding(.bottom, -5)
Image("Levis II")
.resizable()
.scaledToFit()
.frame(width: 300, height: 200)
.overlay(
RoundedRectangle(cornerRadius: 0)
.stroke(Color.white, lineWidth: 2))
}
}
.padding(.leading, 50)
}
}
#Preview {
BrandImage()
}
Hello! I have been experiencing an issue where if I make a change to a file then preview breaks and I must rebuild the project to fix preview. I cant attach the diagnostic report unfortunately as its too big even after i compressed it. How should I proceed?
I have a CoreData model with two entities, 'User' and 'Player', that both use 'Person' as their 'Parent Entity'. While the App appears to work correctly in the simulator, including with CloudKit via NSPersistentCloudKitContainer, I get a crash in Xcode Previews:
libswiftCore.dylib [
AGScoringModel/Persistence.swift:183: Fatal error: #init(inMemory:): Failed to load persistent stores:Error Domain=NSCocoaErrorDomain Code=134110 "An error occurred during persistent store migration." UserInfo={sourceURL=file:///Users/ebg/Library/Developer/.../CoreDataStores/private/database.sqlite, reason=Cannot migrate store in-place: Cannot merge multiple root entity source tables into one destination entity root table, destinationURL=file:///Users/ebg/Library/Developer/.../CoreDataStores/private/database.sqlite, NSUnderlyingError=0x600000ce02a0 {Error Domain=NSCocoaErrorDomain Code=134110 "An error occurred during persistent store migration." UserInfo={message=Cannot merge multiple root entity source tables into one destination entity root table, destinationRootEntity=Person, NSUnderlyingException=Cannot merge multiple root entity source tables into one destination entity root table, sourceRootEntities=(
User,
Player
), reason=Cannot merge multiple root entity source tables into one destination entity root table}}}
]
Why is this? Something in my configuration for persistent container?
Hey, is there any reason why code coverage is not excluded from the preview in SwiftUI?
Having MacBook Pro with macOS Monterey v 12.7.2 and Xcode 13.3 (13B113) I cannot find a Xcode simulator, which could provide iPhone 6.7" display for my first app's product page'
Any advice?
Thanks!
I am using the Observable macro and when I use @Environment property wrapper to instance my model the preview stop working. Sample code below
my model Library
import SwiftUI
import Observation
@Observable class Library {
// ...
}
Now in my main app I created an instance of Library and add that instance to the environment
@main
struct BookReaderApp: App {
@State private var library = Library()
var body: some Scene {
WindowGroup {
LibraryView()
.environment(library)
}
}
}
Now if I want to retrieve the Library instance from any view using the @Environment property wrapper the preview stop working completely
struct LibraryView: View {
@Environment(Library.self) private var library
var body: some View {
List(library.books) { book in
BookView(book: book)
}
}
}
#Preview {
LibraryView()
}
Check the 2 screenshots below
Any idea why this is happening? Is there any workaround? I am working with Xcode Version 15.2. Thanks in advance for any kind of help!
Have a fairly large project in production and after updating Xcode from 14.x to 15.x the previews are no longer working. Devs in our team are using various Apple silicon machines.
Error:
== PREVIEW UPDATE ERROR:
FailedToLaunchAppError: Failed to launch com.utr.utrplay
==================================
| RemoteHumanReadableError: The operation couldn’t be completed. Transaction failed. Process failed to launch. (process launch failed)
|
| BSTransactionError (1):
| ==error-description: Process failed to launch.
| ==NSLocalizedFailureReason: Transaction failed. Process failed to launch. (process launch failed)
| ==transaction: <FBApplicationProcessLaunchTransaction: 0x600003b240e0>
| ==precipitating-error: Error Domain=FBProcessExit Code=64 "The process failed to launch." UserInfo={NSLocalizedFailureReason=The process failed to launch., BSErrorCodeDescription=launch-failed, NSUnderlyingError=0x600000c2fb40 {Error Domain=RBSRequestErrorDomain Code=5 "Launch failed." UserInfo={NSLocalizedFailureReason=Launch failed., NSUnderlyingError=0x600000c2ea90 {Error Domain=NSPOSIXErrorDomain Code=111 "Unknown error: 111" UserInfo={NSLocalizedDescription=Launchd job spawn failed}}}}}
| ==error-reason: process launch failed
https://developer.apple.com/forums/thread/731732
Possibly linked to the above issue
The app compiles just fine, but SwiftUI Previews cannot build if there any any packages that lack support for visionOS
I made sure that filters were enabled so that the package is only linked to iOS
In a project that literally NEVER imports or uses an iOS only package, it fails completely
== PREVIEW UPDATE ERROR:
SchemeBuildError: Failed to build the scheme ”VisionHelloWorld”
'tracks(withMediaType:)' is unavailable in visionOS
Compile LightCompressor.swift (arm64):
/Users/bryananderson/Library/Developer/Xcode/DerivedData/VisionHelloWorld-dviwzruidaouzeeafminiifghzfe/SourcePackages/checkouts/LightCompressor_iOS/Sources/LightCompressor/LightCompressor.swift:123:47: error: 'tracks(withMediaType:)' is unavailable in visionOS
guard let videoTrack = videoAsset.tracks(withMediaType: AVMediaType.video).first else {
^~~~~~
AVFoundation.AVAsset:17:15: note: 'tracks(withMediaType:)' has been explicitly marked unavailable here
open func tracks(withMediaType mediaType: AVMediaType) -> [AVAssetTrack]
import FirebaseCore
import SwiftUI
@main
struct ToDoListApp: App {
init() {
FirebaseApp.configure()
}
var body: some Scene {
WindowGroup {
MainView()
}
}
}
I've encountered while attempting to integrate SwiftUI into an existing UIKit project. Specifically, I have experienced recurring view crashes when creating new SwiftUI views within the project. My Feedback id is FB13509337
I would appreciate your assistance in resolving this matter promptly, as it is critical to the development of our application. Your prompt attention to this issue would be greatly appreciated
I am having issues trying to use previews in the xcode 15.1.
I am using MacOS Sonoma and iOS 17.2 and am struggling using previews.
the preview never loads.it keeps on saying cannot preview in this file.
previews_diagnostics_summary.txt
I have same code in Xcode and Playground. But Xcode is not previewing the View the right way. Here is a screenshot of Xcode:
and here is the screen of Playground:
when i run the code (command + R) it's working fine and i get the true preview in the app (just like what i get in Playground).
Am I doing something wrong or is it a bug?
I'm using iXGuard for my Unity Project and need to build on XCode with iXGuard Toolchains (Xcode menu -> Toolchains -> select iXGuard Toolchains, and also need to add a new script for Post Action (Product -> Scheme -> Edit Scheme -> Archive -> Post-actions )
The question is how can I setup/add in Unity to configure for it instead of manual configure on Xcode?
#Preview {
SwiftUIView()
}
Error:Missing argument for parameter 'isShowing' in call
Whay? can you help me?
Hi,
I just learn swiftUI and trying to preview it on my device (iPhone 15 Pro Max), however the app is failed to launch on my device. I haven't change anything on the code yet.
Here's the error message from diagnostic
== PREVIEW UPDATE ERROR:
FailedToLaunchAppError: Failed to launch swplayground.MQ
==================================
| MessageError: Connection interrupted
|
| ==================================
|
| | MessageSendFailure: Message send failure for <ServiceMessage 28: relaunch>
I work on my project on two computers. One of them is older and stuck at Xcode 13. My project targets iOS 15+.
Previously I was able to bounce back and forth between the two, checking code into source control in between.
After doing a bunch of work on one of them over an extended period, I've returned to my older one and checked out the code... only to be unable to build because Xcode balks at every use of #Preview. I didn't change any project settings in the meantime, so I have no idea why this is suddenly a problem...
Edit: It turns out that this is because previous versions of the SDK did not use this macro. Because I created a couple of new SwiftUI files on the newer OS and Xcode/SDK, it plopped #Preview into the new files instead of the previous implementation, PreviewProvider.
I'll leave this post up for anyone who searches on this problem, since I found zero other references in a general Web search.
I am getting Preview Crash. If I remove line 30 below. then the Preview Crash does not occur.
I have Restarted XCode,
I have done a Project Clean,
Then did a project rebuild.
I have also Created a new Project from scratch
Named the project Debug,
Add one new View File named MaskBootCamp
once I select MaskBootCamp
The Preview willl Crash with an Circle with a Red X in the center With Preview Crashed.
If I remove line 22 all is resolved and no exception occurs
Is this a Swift Bug or some error in the coding?
Excepition Report listed below the code. report Below:
** MaskBootCamp .swift **
import SwiftUI
struct MaskBootCamp: View {
@State var rating: Int = 0
var body: some View {
ZStack{
starsView
.overlay(overlayView.mask(starsView))
}
}
private var overlayView: some View {
GeometryReader { geometry in
ZStack(alignment: .leading) {
Rectangle()
.foregroundColor(.yellow)
.frame(width: CGFloat(rating) / 5 * geometry.size.width)
}
//allowsHitTesting(false)
}
}
private var starsView: some View {
HStack{
ForEach(1..<6) {index in
Image(systemName: "star.fill")
.font(.largeTitle)
.foregroundColor(.gray)
.onTapGesture {
rating = index
}
}
}
}
}
#Preview {
MaskBootCamp()
}