I'm trying to preview UIKit view using #Preview macro in Xcode 15, but got this error
== PREVIEW UPDATE ERROR:
FailedToLaunchAppError: Failed to launch
==================================
| RemoteHumanReadableError: The operation couldn’t be completed. Transaction failed. Process failed to launch. (process launch failed)
|
| BSTransactionError (1):
| ==error-reason: process launch failed
| ==transaction: <FBApplicationProcessLaunchTransaction: 0x600003b287e0>
| ==precipitating-error: Error Domain=FBProcessExit Code=64 "The process failed to launch." UserInfo={NSLocalizedFailureReason=The process failed to launch., BSErrorCodeDescription=launch-failed, NSUnderlyingError=0x600000c1ad90 {Error Domain=RBSRequestErrorDomain Code=5 "Launch failed." UserInfo={NSLocalizedFailureReason=Launch failed., NSUnderlyingError=0x600000c1aee0 {Error Domain=NSPOSIXErrorDomain Code=111 "Unknown error: 111" UserInfo={NSLocalizedDescription=Launchd job spawn failed}}}}}
| ==error-description: Process failed to launch.
| ==NSLocalizedFailureReason: Transaction failed. Process failed to launch. (process launch failed)
Code I'm trying to preview on iPhone 15
import UIKit
final class SomeViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
view.backgroundColor = .red
}
}
@available(iOS 17, *)
#Preview {
SomeViewController()
}
Our project could not initially be debugged using the simulator in Apple silicon, so it could not be previewed.
After the arm64 architecture is excluded from each target: the simulator works, but
#Preview
still doesn't work and gives the same error message as your question: failed to launch(I'm pretty sure we got exactly the same error).After trying various methods:
all failed,Until we remembered how to build an App using Rosetta simulator:
Use the Rosetta simulator as the build target and set the preview to be the same device,A miracle happened:
It is important for us to: We turned off auto-refresh canvas to make Preview finally work.