我正在尝试在Xcode 11和macOS Catalina中使用swiftUI。 但 创建一个新项目后,有一个带有文本的样板代码,上面写着“ hello World”。我想在代码旁边的画布中实时预览此简单的欢迎消息。
当我按下“恢复”按钮时: 它说:
无法在此文件中预览-无法启动[应用名称]
我尝试点击诊断按钮以生成报告,并将其发送给APPLE,说:
[FailedToLaunchError(url: 文件:///Users/naive/Library/Developer/Xcode/DerivedData/first_swiftUI-dymizjogcbtouhclgjhhefagmcqo/Build/Intermediates.noindex/Previews/first_swiftUI/Products/Debug-iphoneos/first_swiftUI.app, 底层:错误域= NSOSStatusErrorDomain代码= -10661“(空)” UserInfo = {_ LSLine = 3554,_LSFunction = _LSOpenStuffCallLocal}, failureCategory:UVFoundation.FailureCategory.infrastructureFailure)]
这是代码,这是通过Xcode 11和SwiftUI选项选中创建的新项目随附的默认代码:
import SwiftUI
struct ContentView : View {
var body: some View {
Text("Hello World")
}
}
#if DEBUG
struct ContentView_Previews : PreviewProvider {
static var previews: some View {
ContentView()
}
}
#endif
我希望画布出现并显示我的代码的实时预览。 画布没有显示出来!!
生成了两个警告消息:
:0:警告:导入的声明 'UITableViewDiffableDataSourceCellProvider'无法映射到 'UITableViewDiffableDataSourceReference.CellProvider'
:0:警告:导入的声明 无法映射“ UICollectionViewDiffableDataSourceCellProvider” 到'UICollectionViewDiffableDataSourceReference.CellProvider'
除此之外, 我的iPad 11”(带有iPadOS Beta)运行该应用程序, 模拟器也可以正常工作
答案 0 :(得分:9)
在使用SwiftUI启动iOS应用,然后在项目属性中检查Mac目标(即使用Catalyst创建跨平台应用)时,我遇到了UVFoundation.FailureCategory.infrastructureFailure
。当我这样做时,默认设备更改为“ My Mac”,并且预览停止工作,在诊断窗口中产生此错误。
似乎不支持Mac目标的预览-您必须选择一些iOS目标(“通用iOS设备”对我来说很好用)。在Mojave beta 5和Xcode 11 beta 5上进行了测试。从Xcode 11 beta 5发行说明中:“ Xcode 11不支持在Mac Catalyst应用程序中使用SwiftUI。(41416222,51201699)”
答案 1 :(得分:5)
我通过将命令行工具分配给xcode 11来解决此问题,它被设置为xcode 10的早期版本。
转到: 首选项>位置>命令行工具[下拉]>选择xcode 11
答案 2 :(得分:1)
我在使用Cocoapods和Xcode建议后尝试使用香草SwiftUI项目模板预览MacOS目标的Canvas for MacOS目标时,在Catalina 10.15.5和Xcode 11.5上遇到了这个问题(Cannot preview in this file -- Update failed
)。
已经列出的解决方案中没有一个对我有用。
“诊断”一词中,我暗示"... code signature in (.../Data/ContentView.2.preview-thunk.dylib) not valid for use in process using Library Validation: mapped file has no Team ID and is not a platform binary (signed with custom identity or adhoc?))} ..."
这解决了问题:项目>目标> MacOSTarget>签名证书> 开发
(以前是“ 要在本地运行的标志”)
答案 3 :(得分:1)
如果您点击运行/“播放”按钮右侧的项目名称,您可以切换到 iOS 选项。它最初设置为 macOS。
答案 4 :(得分:0)
打开终端并输入以下命令
sudo xcode-select -s /Applications/Xcode-beta.app/Contents/Developer
,然后运行sudo xcodebuild -license
。键入同意,然后按返回键以获取许可证。另外,请从Xcode中的Xcode 11
中为命令行工具选择Preference -> Location -> CommandLine
。这对我有用。
答案 5 :(得分:0)
检查路径~/Library/Logs/DiagnosticReports
上的诊断报告。
打开fileName.crash文件(fileName
是导致崩溃的文件)
并搜索Application Specific Information
根据信息修正代码
答案 6 :(得分:0)
我只是退出 XCode ,然后使用相同的项目再次打开并开始预览。尝试一次。
仍然没有运气。 Command + K (清理项目),再次点击Resume
。
答案 7 :(得分:0)
就我而言,我检查了生成的诊断报告,并显示了
” Dyld错误消息: 该应用是为iOS 13.2构建的,该应用比此模拟器13.1更新 “
因此,我将构建设置中的iOS部署目标更改为13.1。
点击简历,它对我有用。
答案 8 :(得分:0)
对我来说,选择11 Pro max以外的任何东西,它将起作用。
答案 9 :(得分:0)
就我而言,这是因为我无意间尝试在真实设备而非模拟器上进行构建。通过从列表中选择一个模拟器,它可以重新启动并运行。
答案 10 :(得分:0)
我遇到了同样的问题,并且发现是由于运行时错误导致此错误,因为项目已成功编译。该错误是由项目中未引用的图像引起的。
答案 11 :(得分:0)
我遇到了同样的问题,改变位置对我有用。我把它从“相对于组”改为“相对于项目”,预览就出来了!
在此link中,您可以找到更多信息
答案 12 :(得分:-1)
以上都不适合我-但我确实找到了方法...