仅针对 iOS 的 UIKit Xcode 项目,它有 3 个用于不同构建配置的目标。
当我添加 swiftui 文件时,它可以正常构建并运行,但我看不到我得到的最简单的预览
Cannot preview this file - un expected error occurred
准确的诊断是
HumanReadableSwiftError
ProviderError: ProviderError: noPreviewInfos(runDestination: Simulator - iOS 15.2 | iphonesimulator | x86_64 | iPhone 13 Pro Max | Apple Watch Series 6 - 44mm, thunkConfiguration: <IDEBuildOperationConfiguration buildCommand: 8, buildParameters: <IDEBuildParameters:0x7fe4bffe2f40:action=build:command=<IDEConcretePrimitiveSchemeCommand:0x7fe4bb382500:Run>:config=Release:dest=iPhone 13 Pro Max:arch=x86_64:workspaceArena=<IDEWorkspaceArenaSnapshot: 0x7fe4bbbbf2b0>:
overridingProperties=(
{ // Preview overrides (immutable)
DSTROOT = 【𝗟𝗶𝘁𝗲𝗿𝗮𝗹𝗦𝘁𝗿𝗶𝗻𝗴:/Users/x/Library/Developer/Xcode/DerivedData/MayApp-ezbgeibumcswldddlegmcbpnukij/Build/Intermediates.noindex/Previews/MayApp/ReleaseProducts】
ENABLE_PREVIEWS = 【YES】
OBJROOT = 【𝗟𝗶𝘁𝗲𝗿𝗮𝗹𝗦𝘁𝗿𝗶𝗻𝗴:/Users/x/Library/Developer/Xcode/DerivedData/MayApp-ezbgeibumcswldddlegmcbpnukij/Build/Intermediates.noindex/Previews/MayApp/Intermediates.noindex】
SYMROOT = 【𝗟𝗶𝘁𝗲𝗿𝗮𝗹𝗦𝘁𝗿𝗶𝗻𝗴:/Users/x/Library/Developer/Xcode/DerivedData/MayApp-ezbgeibumcswldddlegmcbpnukij/Build/Intermediates.noindex/Previews/MayApp/Products】
},
):
collectBuildTimeStatistics=NO
collectTimelineMetrics=NO>, executionEnvironment: Optional(<IDEExecutionEnvironment: 0x7fe52c865050>), singleFileToBuild: nil, buildLog: nil, parallelizeBuildables: true, dontActuallyRunCommands: false, buildImplicitDependencies: true, skipDependencies: false, buildables: Optional([<Xcode3TargetProduct:0x7fe549f34fa0:MayApp.app blueprint:<Xcode3Target:0x7fe4bb385f20:MayApp>>]), subsetOfBuildables: nil, buildDescriptionID: nil, scheme: Optional(<IDEScheme:0x7fe4baea1490:'MayApp'>), schemeTask: 0, clientInfo: nil>, blueprintName: MayApp Staging, sourceFilePath: /Users/x/Git/MayApp/options/MayApp_ios/MayApp/Application/Exploration/ProfileSettings/ProfileSettingsView.swift, thunkVariantSuffix: __XCPREVIEW_THUNKSUFFIX__)
我尝试过的事情: 我将 macos 和 xcode 更新到最新版本(Xcode 版本 13.2.1)
sudo xcodebuild -license accept
ENABLE_PREVIEWS = YES
没有任何效果
奇怪的是,当我添加 SwiftUI 文件而不运行测试时,它还抱怨 UI 测试,但我现在注释掉了这些文件。
您使用什么库/包?我在很长一段时间内遇到了类似的错误。我使用包管理器来实现 Firebase 功能,并且能够正常编译/运行,但不能专门用于预览或模拟器。那些被排除在外的建筑材料也不适合我。相反,我不得不切换回使用 Cocoapods 而不是包管理器,至少对于 Firebase 来说是这样。经过一番摆弄后,我再也没有遇到过问题,并且一直运行预览。如果这没有用,但您没有提供太多上下文,我深表歉意。
我也遇到了同样的问题。然后我在 Xcode 中使用 Cmd+R 启动模拟器。 第一次就失败了。 第二次,它要求访问本地文件,然后模拟器就成功启动了。
然后我回到画布。它刚刚自行修复。
通常,此类问题可以通过清除派生数据文件夹来解决。以下是我通常遵循的步骤: