Consider this absolutely simple looking NSWindowController + NSViewController pair:
@objc final class MyFabWC: NSWindowController {
@objc static let shared = MyFabWC(window: NSWindow(contentViewController: MyFabVC()))
override func windowDidLoad() {
super.windowDidLoad()
// Implement this method to handle any initialization after your window controller's window has been loaded from its nib file.
}
}
@objc final class MyFabVC: NSViewController {
override func loadView() {
view = NSView()
}
}Now if I try to preview this using Xcode Previews like so:
#if DEBUG
@available(macOS 14.0, *)
#Preview("GroupEmailVC") {
MyFabVC()
}
#endifSo consequentially, the NSWindowController isn't of any immediate effect here, but I've included it for completness.
When previewing the above, I get the following error:
== PREVIEW UPDATE ERROR:
FailedToAnalyzeBuiltTargetDescription: Could not analyze the built target description for MyFabApp to create the preview.
WHY!? Why can it not analyze the built target? The target builds just fine with a few warnings, but no build errors.
Linker command included in the debug log:
CouldNotParseLinkCommandLine: Could not parse linker command line. | | Full linker invocation: | /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld | -demangle | -lto_library | /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/libLTO.dylib | -no_deduplicate | -dynamic | -dylib | -arch | arm64 | -dylib_install_name | @rpath/MyFabApp.debug.dylib | -platform_version | macos | 11.0.0 | 15.0 | -syslibroot | /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.0.sdk | -O0 | -mllvm | -enable-linkonceodr-outlining | -ObjC | -o | /Volumes/T7/Sites/MyApps/DerivedData/MyMac/Build/Products/Debug/MyFabApp.app/Contents/MacOS/MyFabApp.debug.dylib | -L/Volumes/T7/Sites/MyApps/DerivedData/MyMac/Build/Intermediates.noindex/EagerLinkingTBDs/Debug | -L/Volumes/T7/Sites/MyApps/DerivedData/MyMac/Build/Products/Debug | -L/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/macosx | -L/usr/lib/swift | -reproducible | -filelist | /Volumes/T7/Sites/MyApps/DerivedData/MyMac/Build/Intermediates.noindex/MyFabApp.build/Debug/MyFabApp Debug.build/Objects-normal/arm64/MyFabApp.LinkFileList | -rpath | /usr/lib/swift | -rpath | /Volumes/T7/Sites/MyApps/DerivedData/MyMac/Build/Products/Debug/PackageFrameworks | -rpath | @executable_path/../Frameworks | -object_path_lto | /Volumes/T7/Sites/MyApps/DerivedData/MyMac/Build/Intermediates.noindex/MyFabApp.build/Debug/MyFabApp Debug.build/Objects-normal/arm64/MyFabApp_lto.o | -export_dynamic | -no_deduplicate | -cache_path_lto | /Volumes/T7/Sites/MyApps/DerivedData/MyMac/Build/Intermediates.noindex/LTOCache | -add_ast_path | /Volumes/T7/Sites/MyApps/DerivedData/MyMac/Build/Intermediates.noindex/MyFabApp.build/Debug/MyFabApp Debug.build/Objects-normal/arm64/MyFabApp.swiftmodule | -no_warn_duplicate_libraries | -no_warn_duplicate_libraries | -no_warn_duplicate_libraries | -no_warn_duplicate_libraries | -no_warn_duplicate_libraries | -no_warn_duplicate_libraries | -no_warn_duplicate_libraries | -no_warn_duplicate_libraries | -no_warn_duplicate_libraries | -no_warn_duplicate_libraries | -no_warn_duplicate_libraries | -lc++ | -lxml2 | -alias | _main | ___debug_main_executable_dylib_entry_point | -framework | MSAL | -framework | FirebaseInstallations | -framework | FirebaseRemoteConfigInterop | -framework | BCCalendarDate | -framework | FirebaseCoreExtension | -framework | DTCoreText | -framework | TPInAppReceipt | -framework | FirebaseInstallations | /Volumes/T7/Sites/MyApps/DerivedData/MyMac/Build/Products/Debug/PackageFrameworks/SwiftyChrono.framework/Versions/A/SwiftyChrono | -framework | MyFabAppModel | -framework | MyCore | -framework | FirebaseAnalytics | /Volumes/T7/Sites/MyApps/DerivedData/MyMac/Build/Products/Debug/PackageFrameworks/BeehiveGenericControls.framework/Versions/A/BeehiveGenericControls | -framework | AutoHyperlinks | -framework | GoogleDataTransport | -framework | PromiseKit | -framework | DTFoundation | -framework | FBLPromises | /Volumes/T7/Sites/MyApps/DerivedData/MyMac/Build/Products/Debug/PackageFrameworks/EasyPeasyDynamic.framework/Versions/A/EasyPeasyDynamic | -framework | ASN1Swift | /Volumes/T7/Sites/MyApps/DerivedData/MyMac/Build/Products/Debug/PackageFrameworks/SwiftViewDSL.framework/Versions/A/SwiftViewDSL | -framework | FirebaseCore | /Volumes/T7/Sites/MyApps/DerivedData/MyMac/Build/Products/Debug/PackageFrameworks/DifferenceKitDynamic.framework/Versions/A/DifferenceKitDynamic | -framework | nanopb | /Volumes/T7/Sites/MyApps/DerivedData/MyMac/Build/Products/Debug/PackageFrameworks/AppKitExtensions.framework/Versions/A/AppKitExtensions | -framework | CocoaLumberjackSwift | -framework | FirebaseSessions | -framework | GoogleAppMeasurement | -framework | AppAuth | -framework | CocoaLumberjack | /Volumes/T7/Sites/MyApps/DerivedData/MyMac/Build/Products/Debug/PackageFrameworks/LogHandler.framework/Versions/A/LogHandler | /Volumes/T7/Sites/MyApps/DerivedData/MyMac/Build/Products/Debug/PackageFrameworks/FoundationExtensions.framework/Versions/A/FoundationExtensions | -framework | SoapEXWS | /Volumes/T7/Sites/MyApps/DerivedData/MyMac/Build/Products/Debug/PackageFrameworks/BeehiveAppKit.framework/Versions/A/BeehiveAppKit | -framework | Promises | -framework | GoogleUtilities | /Volumes/T7/Sites/MyApps/DerivedData/MyMac/Build/Products/Debug/PackageFrameworks/BKTagPicker.framework/Versions/A/BKTagPicker | -framework | KissXML | -framework | CTidy | -framework | FirebaseCrashlytics | -framework | FirebaseCoreInternal | -dependency_info | /Volumes/T7/Sites/MyApps/DerivedData/MyMac/Build/Intermediates.noindex/MyFabApp.build/Debug/MyFabApp Debug.build/Objects-normal/arm64/MyFabApp_dependency_info.dat | -add_ast_path | /Volumes/T7/Sites/MyApps/DerivedData/MyMac/Build/Intermediates.noindex/SwiftyStoreKit.build/Debug/SwiftyStoreKit.build/Objects-normal/arm64/SwiftyStoreKit.swiftmodule | -framework | Foundation | -lobjc | /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/16/lib/darwin/libclang_rt.profile_osx.a | -sectalign | __DATA | __llvm_prf_cnts | 0x4000 | -sectalign | __DATA | __llvm_prf_data | 0x4000 | -lSystem | /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/16/lib/darwin/libclang_rt.osx.a | -F/Volumes/T7/Sites/MyApps/DerivedData/MyMac/Build/Intermediates.noindex/EagerLinkingTBDs/Debug | -F/Volumes/T7/Sites/MyApps/DerivedData/MyMac/Build/Products/Debug/PackageFrameworks | -F/Volumes/T7/Sites/MyApps/DerivedData/MyMac/Build/Products/Debug/PackageFrameworks | -F/Volumes/T7/Sites/MyApps/DerivedData/MyMac/Build/Products/Debug/PackageFrameworks | -F/Volumes/T7/Sites/MyApps/DerivedData/MyMac/Build/Products/Debug/PackageFrameworks | -F/Volumes/T7/Sites/MyApps/DerivedData/MyMac/Build/Products/Debug/PackageFrameworks | -F/Volumes/T7/Sites/MyApps/DerivedData/MyMac/Build/Products/Debug/PackageFrameworks | -F/Volumes/T7/Sites/MyApps/DerivedData/MyMac/Build/Products/Debug/PackageFrameworks | -F/Volumes/T7/Sites/MyApps/DerivedData/MyMac/Build/Products/Debug/PackageFrameworks | -F/Volumes/T7/Sites/MyApps/DerivedData/MyMac/Build/Products/Debug/PackageFrameworks | -F/Volumes/T7/Sites/MyApps/DerivedData/MyMac/Build/Products/Debug/PackageFrameworks | -F/Volumes/T7/Sites/MyApps/DerivedData/MyMac/Build/Products/Debug/PackageFrameworks | -F/Volumes/T7/Sites/MyApps/DerivedData/MyMac/Build/Products/Debug | -F/Volumes/T7/Sites/MyApps/DerivedData/MyMac/Build/Products/Debug | -F/Volumes/T7/Sites/MyApps/DerivedData/MyMac/Build/Products/Debug/../Debug | | Forcing profile libraries (-fprofile-instr-generate) | Forcing -fapple-link-rtlib | Clang linker front-end detected. Asking for full linker invocation. | clang invocation: | /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang | -Xlinker | -reproducible | -target | arm64-apple-macos10.15 | -dynamiclib | -isysroot | /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.0.sdk | -O0 | -L/Volumes/T7/Sites/MyApps/DerivedData/MyMac/Build/Intermediates.noindex/EagerLinkingTBDs/Debug | -L/Volumes/T7/Sites/MyApps/DerivedData/MyMac/Build/Products/Debug | -F/Volumes/T7/Sites/MyApps/DerivedData/MyMac/Build/Intermediates.noindex/EagerLinkingTBDs/Debug | -F/Volumes/T7/Sites/MyApps/DerivedData/MyMac/Build/Products/Debug/PackageFrameworks | -F/Volumes/T7/Sites/MyApps/DerivedData/MyMac/Build/Products/Debug/PackageFrameworks | -F/Volumes/T7/Sites/MyApps/DerivedData/MyMac/Build/Products/Debug/PackageFrameworks | -F/Volumes/T7/Sites/MyApps/DerivedData/MyMac/Build/Products/Debug/PackageFrameworks | -F/Volumes/T7/Sites/MyApps/DerivedData/MyMac/Build/Products/Debug/PackageFrameworks | -F/Volumes/T7/Sites/MyApps/DerivedData/MyMac/Build/Products/Debug/PackageFrameworks | -F/Volumes/T7/Sites/MyApps/DerivedData/MyMac/Build/Products/Debug/PackageFrameworks | -F/Volumes/T7/Sites/MyApps/DerivedData/MyMac/Build/Products/Debug/PackageFrameworks | -F/Volumes/T7/Sites/MyApps/DerivedData/MyMac/Build/Products/Debug/PackageFrameworks | -F/Volumes/T7/Sites/MyApps/DerivedData/MyMac/Build/Products/Debug/PackageFrameworks | -F/Volumes/T7/Sites/MyApps/DerivedData/MyMac/Build/Products/Debug/PackageFrameworks | -F/Volumes/T7/Sites/MyApps/DerivedData/MyMac/Build/Products/Debug | -F/Volumes/T7/Sites/MyApps/DerivedData/MyMac/Build/Products/Debug | -F/Volumes/T7/Sites/MyApps/DerivedData/MyMac/Build/Products/Debug/../Debug | -filelist | /Volumes/T7/Sites/MyApps/DerivedData/MyMac/Build/Intermediates.noindex/MyFabApp.build/Debug/MyFabApp Debug.build/Objects-normal/arm64/MyFabApp.LinkFileList | -install_name | @rpath/MyFabApp.debug.dylib | -Xlinker | -rpath | -Xlinker | /usr/lib/swift | -Xlinker | -rpath | -Xlinker | /Volumes/T7/Sites/MyApps/DerivedData/MyMac/Build/Products/Debug/PackageFrameworks | -Xlinker | -rpath | -Xlinker | @executable_path/../Frameworks | -Xlinker | -object_path_lto | -Xlinker | /Volumes/T7/Sites/MyApps/DerivedData/MyMac/Build/Intermediates.noindex/MyFabApp.build/Debug/MyFabApp Debug.build/Objects-normal/arm64/MyFabApp_lto.o | -Xlinker | -export_dynamic | -Xlinker | -no_deduplicate | -fobjc-arc | -fobjc-link-runtime | -flto=thin | -Xlinker | -cache_path_lto | -Xlinker | /Volumes/T7/Sites/MyApps/DerivedData/MyMac/Build/Intermediates.noindex/LTOCache | -L/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/macosx | -L/usr/lib/swift | -Xlinker | -add_ast_path | -Xlinker | /Volumes/T7/Sites/MyApps/DerivedData/MyMac/Build/Intermediates.noindex/MyFabApp.build/Debug/MyFabApp Debug.build/Objects-normal/arm64/MyFabApp.swiftmodule | -Wl,-no_warn_duplicate_libraries | -Wl,-no_warn_duplicate_libraries | -Wl,-no_warn_duplicate_libraries | -Wl,-no_warn_duplicate_libraries | -Wl,-no_warn_duplicate_libraries | -Wl,-no_warn_duplicate_libraries | -Wl,-no_warn_duplicate_libraries | -Wl,-no_warn_duplicate_libraries | -Wl,-no_warn_duplicate_libraries | -Wl,-no_warn_duplicate_libraries | -Wl,-no_warn_duplicate_libraries | -ObjC | -lc++ | -lxml2 | -Xlinker | -alias | -Xlinker | _main | -Xlinker | ___debug_main_executable_dylib_entry_point | -framework | MSAL | -framework | FirebaseInstallations | -framework | FirebaseRemoteConfigInterop | -framework | BCCalendarDate | -framework | FirebaseCoreExtension | -framework | DTCoreText | -framework | TPInAppReceipt | -framework | FirebaseInstallations | /Volumes/T7/Sites/MyApps/DerivedData/MyMac/Build/Products/Debug/PackageFrameworks/SwiftyChrono.framework/Versions/A/SwiftyChrono | -framework | MyFabAppModel | -framework | MyCore | -framework | FirebaseAnalytics | /Volumes/T7/Sites/MyApps/DerivedData/MyMac/Build/Products/Debug/PackageFrameworks/BeehiveGenericControls.framework/Versions/A/BeehiveGenericControls | -framework | AutoHyperlinks | -framework | GoogleDataTransport | -framework | PromiseKit | -framework | DTFoundation | -framework | FBLPromises | /Volumes/T7/Sites/MyApps/DerivedData/MyMac/Build/Products/Debug/PackageFrameworks/EasyPeasyDynamic.framework/Versions/A/EasyPeasyDynamic | -framework | ASN1Swift | /Volumes/T7/Sites/MyApps/DerivedData/MyMac/Build/Products/Debug/PackageFrameworks/SwiftViewDSL.framework/Versions/A/SwiftViewDSL | -framework | FirebaseCore | /Volumes/T7/Sites/MyApps/DerivedData/MyMac/Build/Products/Debug/PackageFrameworks/DifferenceKitDynamic.framework/Versions/A/DifferenceKitDynamic | -framework | nanopb | /Volumes/T7/Sites/MyApps/DerivedData/MyMac/Build/Products/Debug/PackageFrameworks/AppKitExtensions.framework/Versions/A/AppKitExtensions | -framework | CocoaLumberjackSwift | -framework | FirebaseSessions | -framework | GoogleAppMeasurement | -framework | AppAuth | -framework | CocoaLumberjack | /Volumes/T7/Sites/MyApps/DerivedData/MyMac/Build/Products/Debug/PackageFrameworks/LogHandler.framework/Versions/A/LogHandler | /Volumes/T7/Sites/MyApps/DerivedData/MyMac/Build/Products/Debug/PackageFrameworks/FoundationExtensions.framework/Versions/A/FoundationExtensions | -framework | SoapEXWS | /Volumes/T7/Sites/MyApps/DerivedData/MyMac/Build/Products/Debug/PackageFrameworks/BeehiveAppKit.framework/Versions/A/BeehiveAppKit | -framework | Promises | -framework | GoogleUtilities | /Volumes/T7/Sites/MyApps/DerivedData/MyMac/Build/Products/Debug/PackageFrameworks/BKTagPicker.framework/Versions/A/BKTagPicker | -framework | KissXML | -framework | CTidy | -framework | FirebaseCrashlytics | -framework | FirebaseCoreInternal | -Xlinker | -dependency_info | -Xlinker | /Volumes/T7/Sites/MyApps/DerivedData/MyMac/Build/Intermediates.noindex/MyFabApp.build/Debug/MyFabApp Debug.build/Objects-normal/arm64/MyFabApp_dependency_info.dat | -o | /Volumes/T7/Sites/MyApps/DerivedData/MyMac/Build/Products/Debug/MyFabApp.app/Contents/MacOS/MyFabApp.debug.dylib | -Xlinker | -add_ast_path | -Xlinker | /Volumes/T7/Sites/MyApps/DerivedData/MyMac/Build/Intermediates.noindex/SwiftyStoreKit.build/Debug/SwiftyStoreKit.build/Objects-normal/arm64/SwiftyStoreKit.swiftmodule | | ================================== | | | CouldNotParseInput | | | | ================================== | | | | | FailedParsingMachObjectFile | | | | | | MachO data could not be parsed for: /Volumes/T7/Sites/MyApps/DerivedData/MyMac/Build/Intermediates.noindex/MyFabApp.build/Debug/MyFabApp Debug.build/Objects-normal/arm64/main.o | | | Reason: Mach-O data not valid | | | Data header bytes: [222, 192, 23, 11, 0, 0, 0, 0, 20, 0, 0, 0, 24, 42, 0, 0, 255, 255, 255, 255] | | | Data header ASCII: "\xde\xc0����*\xff\xff\xff\xff"== PREVIEW UPDATE ERROR: