无法在此文件中预览 -- 消息发送失败

2024-03-07

我创建了一个新的 SwiftUI 项目,但代码不会在实时预览窗口中加载,我每次都会收到以下错误:

无法在此文件中预览 -。但是当我在模拟器上运行它时,它也适用于其他视图。

这是代码

import SwiftUI
import FirebaseAuth


class AppViewModel: ObservableObject {
    
    let auth = Auth.auth()
    
    @Published var LoggedIn = false
    
    var isLoggedIn: Bool{
        return auth.currentUser != nil
    }
    
    func LogIn(email: String, password: String) {
        
        auth.signIn(withEmail: email, password: password) { [weak self] result, error in
            guard result != nil, error == nil else{
                return
            }
            
            DispatchQueue.main.async {
            // Success
            self?.LoggedIn = true
            }
        }
        
    }
    
    func SignUp(email: String, password: String) {
        
        auth.createUser(withEmail: email, password: password) { [weak self] result, error in
            guard result != nil, error == nil else{
                return
            }
            DispatchQueue.main.async {
            // Success
            self?.LoggedIn = true
            }
        }
        
    }
}

struct ContentView: View {
    @EnvironmentObject var ViewModel : AppViewModel
    var body: some View {
        NavigationView {
        if ViewModel.LoggedIn {
            Text ("You are Logged In")
            } else{
                LogInView()
        }
    }
        .onAppear {
            ViewModel.LoggedIn = ViewModel.isLoggedIn
        }
    }
}

struct LogInView: View {
    @State var email = ""
    @State var password = ""
    
    @EnvironmentObject var ViewModel : AppViewModel
    var body: some View {
        
        VStack {
            
            TextField("Email Adress", text: $email)
                .disableAutocorrection(true)
                .autocapitalization(.none)
                .padding()
                .background(Color(.secondarySystemBackground))
                .cornerRadius(15)
            
            SecureField("Password", text: $password)
                .disableAutocorrection(true)
                .autocapitalization(.none)
                .padding()
                .background(Color(.secondarySystemBackground))
                .cornerRadius(15)
            
            Button(action: {
                
                guard !email.isEmpty, !password.isEmpty else{
                    return
                }
                ViewModel.LogIn(email: email, password: password)
            }) {
                Text("Log In")
                    .foregroundColor(Color.white)
                    .font(.headline)
                    .frame(maxWidth: .infinity)
                    .frame(height: 50)
                    .background(Color.accentColor)
                    .cornerRadius(20.0)
            }
            
            NavigationLink("Create an account", destination: SignUpView())
                .padding()
            

            
        }
        .padding(.horizontal, 24.0)
        .navigationTitle("Welcome")
    }
}


struct SignUpView: View {
    @State var email = ""
    @State var password = ""
    
    @EnvironmentObject var ViewModel : AppViewModel
    var body: some View {
        
        VStack {
            
            TextField("Email Adress", text: $email)
                .disableAutocorrection(true)
                .autocapitalization(.none)
                .padding()
                .background(Color(.secondarySystemBackground))
                .cornerRadius(15)
            
            SecureField("Password", text: $password)
                .disableAutocorrection(true)
                .autocapitalization(.none)
                .padding()
                .background(Color(.secondarySystemBackground))
                .cornerRadius(15)
            
            Button(action: {
                
                guard !email.isEmpty, !password.isEmpty else{
                    return
                }
                ViewModel.SignUp(email: email, password: password)
            }) {
                Text("Sign Up")
                    .foregroundColor(Color.white)
                    .font(.headline)
                    .frame(maxWidth: .infinity)
                    .frame(height: 50)
                    .background(Color.accentColor)
                    .cornerRadius(20.0)
            }
            
            
        }
        .padding(.horizontal, 24.0)
        .navigationTitle("Create an Account")
    }
}

struct ContentView_Previews: PreviewProvider {
    static var previews: some View {
        ContentView()
    }
}

我遇到了同样的问题,我可以在模拟器/真实设备中构建项目,没有任何问题,但我无法利用 SwiftUI 预览功能。

我有相同的错误消息“消息发送失败”,其中诊断报告提到他们无法找到相关的 SwiftUI 视图文件。我已向 Apple 提出审核请求。

与此同时,我找到了一个解决方法关闭“自动刷新画布”“ 选项位于

Xcode >> 编辑器 >> 画布 >> 自动刷新画布。

这允许预览,至少加载,并且您可以使用设备中的播放按钮手动刷新它们。

关闭后,它将加载预览,您可以单击播放按钮刷新预览。

--2022年1月12日更新--

在收到 AppleDTS 认为这是一个错误的电子邮件后,我们花了很多时间来解决这个问题,并找到了一个可重复的解决方法。进一步的请求需要通过反馈助手提出,如果我发现任何有用的东西,我会分享苹果的反馈。

就我而言,这个问题时不时地再次出现,并找到了一种(相当肮脏的)方法来利用 SwiftUI(如果您正在使用)M1 MacBook Pro and 不包括 Arm64 架构在构建中,以及各种可可足类动物。以下是迄今为止我发现的最安全/万无一失的方法,至少对我来说是这样,让预览正常工作。

  1. 清理 Xcode(派生数据、设备支持、构建缓存)
  2. (如果您有 cocoapods 和 XCworkspace 文件) arch -x86_64 pod deintegrate 在终端
  3. 删除旧的 XCworkspace 文件和 Podfile.lock
  4. 重新安装 pod - arch -x86_64 pod install
  5. 检查 Xcode 信息中的“使用 Rosetta 打开”
  6. 打开新的 XCworkspace 文件
  7. 运行iOS模拟器构建缓存iPhone 版(如果有 iOS 应用程序)
  8. 运行WatchOS模拟器来构建缓存对于手表(如果有 watchOS 应用程序)
  9. 确保此时 cocoapods/swift 版本等没有进一步的问题。
  10. 关闭“自动刷新画布”以检查预览是否加载,并且在打开自动画布刷新功能时(对 contentView/SwiftUIview 进行任何更改时)还会看到“消息发送失败”错误消息。
  11. 关闭 Xcode 文件,无需删除构建缓存.
  12. 取消选中 Xcode 信息中的“使用 Rosetta 打开”。
  13. 重新打开 XCworkspace 文件。
  14. (可选)运行模拟器
  15. 使用 SwiftUI,同时保持“自动刷新画布”打开。

如果您同时找到了更好的解决方案,请随时分享。这篇 SO 帖子是引导我找到临时解决方法的帖子。

Xcode 12 中出现“无法在此文件中预览 - 连接中断:向代理发送 PreviewInstances 消息”错误 https://stackoverflow.com/questions/64210844/cannot-preview-in-this-file-connection-interrupted-send-previewinstances-mes

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

无法在此文件中预览 -- 消息发送失败 的相关文章

  • Spring框架StoryBoard渲染错误

    我有一个正在运行的项目 现在我再次安装 Pod pod Spring git gt https github com MengTo Spring git https github com MengTo Spring git branch g
  • 二元运算符“==”不能应用于“UILabel?”类型的操作数和“字符串”

    错误 二元运算符 无法应用于 UILabel 类型的操作数和 字符串 import UIKit class ViewController UIViewController let Soft 5 let Medium 8 let Hard 1
  • 您无权使用此服务 iTunes 应用程序上传错误 [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 自 2015 年 11 月末 Apple 用户和角色 更新至 iTunesConnect 以来 一些人一直遇到错误消息 iTunes
  • 将 UIImage 作为纹理添加到 RealityKit 中的 Plane

    我正在 swift 中尝试新的 RealityKit 框架 我想将 2D 图像放置在 ARAnchor 上 我设法创建一个网格平面 并尝试将图像作为纹理添加到该平面 我发现我可以为材质赋予局部图像 我怎样才能使用 UIImage 来代替 l
  • AVAudioPCMBuffer 的播放段

    我正在为 iOS 应用程序创建这个简单的录音机和编辑器界面 音频被记录到用于创建波形的浮点数组中 记录后 我将浮点数据复制到AVAudioPCMBuffer用来玩AVAudioPlayerNode 我能够从一开始就播放缓冲区 但我不知道如何
  • SDK“iOS 8.4”不允许临时代码签名

    我正在尝试在 iPhone 上运行我的 IOS 应用程序 我有一个苹果开发人员帐户 并且我执行了创建证书的所有步骤 当我尝试运行它时 我收到以下错误消息 代码签名错误 SDK iOS 8 4 不允许进行临时代码签名 CodeSign 错误
  • 如何从 Firebase 获取名称以特定字符串开头的记录?

    如何查询 Firebase 以返回名称以特定字符串开头的子项 我正在尝试将 Firebase 与此一起使用自动完成文本字段项目 https github com mnbayan AutocompleteTextfieldSwift 他们使用
  • Segue Unwind 返回到最后一个特定的视图控制器

    有没有一种方法可以让一个按钮展开回特定的视图控制器 例如 假设我有 ViewController A 和 B 两者都模态地转至 ViewController C 现在我了解如何转回之前的视图控制器之一 正如这里所解释的 https stac
  • 如何在 Swift 3 中使用 % 作为后缀一元运算符来计算百分比,并且仍然能够使用 % 进行取模?

    我宣布了 令牌作为后修复运算符以计算百分比 但 Xcode 会报告 is not a postfix unary operator 我的测试代码below基于发现的示例here http www codingexplorer com cus
  • Swift IOS,如何将应用程序用户输入的句子的字母大写,示例;第四个字母和第六个字母?

    用户在文本字段中输入一个句子 然后在一个文本字段中输入数字 4 在另一个文本字段中输入数字 6 它将第 4 个字母和第 6 个字母所在的句子大写 例如 用户输入 一年有 12 个月 输出将是 一年有 12 个月 如何将句子中的第四个和第六个
  • 创建主窗口后添加 NSTouchBar 支持

    我正在尝试添加对暴露的支持NSTouchBar按钮通过插件连接到我无法修改的应用程序 该插件是一个共享库 在创建主窗口后在运行时加载 我创建了一个AppDelegate如下 interface AppDelegate NSResponder
  • 如何在 xcode 中检索替换的文件

    我不小心替换了 Xcode 中的其中一个 h 文件 因此当前的 h 文件为空 无论如何 我可以将其取回吗 因为这需要大量工作 请为我提供解决方案 谢谢 Xcode 保存文件的本地历史记录 但不提供查看器来查看它们 您必须使用文本编辑打开文件
  • Swift 3 类型推理混乱

    我正在使用 macOS 我有以下代码 1 2 3 4 和 5 之间的唯一区别在于 metrics 参数的内容 let a 20 let met a a 1 This compiles NSLayoutConstraint constrain
  • XCode 卡住了“复制符号文件”

    更新到最新版本 6 1 b2 后 Xcode 不再在设备上编译和运行项目 并显示 正在复制符号文件 几个小时 对于这个问题有什么想法或可能的解决方法吗 尝试使用另一根电缆或 USB 端口 其他 USB 端口为我修复了它 并在找到此 Twit
  • 在 XCode 数据模型编辑器中获取属性的最小值

    如何在 XCode 的数据模型编辑器中添加获取的属性以获得一个属性的最小值 我的型号 模型http www freeimagehosting net uploads b48853070e png http www freeimagehost
  • 检查 u 键是否被按下 Swift Cocoa [重复]

    这个问题在这里已经有答案了 我正在尝试检测是否U键是否被按下 如果是的话应该print BUT BUT 但我不确定如何检查不同的按键 因为按键的文档非常糟糕 我找到了带有键码的答案 但它们仅适用于 QWERTY 键盘 视图控制器 swift
  • iOS 中的胖二进制文件

    是否有可能为 iOS 构建 32 位和 64 位 胖 二进制文件 我的理解是 这即将到来 但我在 Xcode 的最新更新中看不到明显的方法来做到这一点 我希望我的应用程序在 5S 上以 64 位模式运行 在 5 及以下版本上以 32 位模式
  • 如何一次运行多个后台线程任务?

    我正在尝试循环遍历包含 2016 年 10 月日期的 String 对象数组 这意味着 31 个 String 对象 2016 年 10 月 1 日 2016 年 10 月 31 日 对于每个对象 我想从数据库检索一些数据并附加返回值 也是
  • 如何修复TabView中NavigationView中List下的灰色条?

    所以我遇到一个问题 在我的列表下方出现一个灰色条 当我单击一个单元格转到另一个视图时 会出现一个更大的灰色条 这是列表视图的代码 VStack NavigationView VStack List ForEach answersArray
  • 在ios swift中登录后从wkwebview获取令牌

    我正在 wkwebview 中加载一个用于登录的网址 成功登录后 它将重定向到内部页面 从那里单击按钮时 它将重定向到生成令牌的另一个页面 生成令牌后如何将其推送到 swift 应用程序 我需要将该令牌用于我的应用程序中的进一步使用 请帮忙

随机推荐

  • 链接我的库时未解析的外部符号

    我已经用 VS2010 编译了自己的库文件 lib 但是当我尝试像这样引用它时 pragma comment lib path to lib lib 我不断收到无法解析的外部符号 我做错了什么 到目前为止 pragma comment li
  • 异步odbc好像是同步的

    我正在尝试执行异步数据库查询 但是当我测试我的代码时 它似乎是同步的 我已将问题隔离到我的查询功能 无法弄清楚我做错了什么 我对 aync await 功能还很陌生 所以我可能做了一些愚蠢的事情 这是失败的代码 我正在使用本地安装的 pos
  • 如何解析存储在我的 google 驱动器中但以 html 类型突出的 XML 文件?

    如何解析存储在我的谷歌驱动器中但作为 html 类型脱颖而出的 XML 文件 我在我的 google Drive 云上保存了源 xml 的副本 我可以解析源代码 但无法解析看起来像 html 类型的 xml 副本 我有解析错误 例如 元素类
  • 在同一个 geom_text 上使用 ggrepel 和 Shadowtext

    我有一个情节 用 R 制作ggplot2 这是对一堆文本数据进行奇异值分解的结果 所以我基本上有一个数据集 其中包含一些评论中使用的约 100 个单词和约 10 个评论类别 每个评论都有 2D 坐标 由于文本量太大以及许多重要点之间的距离有
  • Carthage 更新 - 任务失败,退出代码为 65

    我安装了 2 个版本的 Xcode 8 3 2 和 8 2 1 我正在开发一个用 Swift 2 编写的项目 并通过 Carthage 安装了一些第三方 拉分支后我做了carthage update 然后我得到这个错误 carthage u
  • Mongoose TypeError:无法使用“in”运算符在中搜索“_id”

    我有一个 Rails 开发人员正在尝试主干并使用 Backbone js 应用程序书 我的第一个 Backbone Node Mongo 应用程序 所以要温柔 我已经问过类似的问题了 现在已经被困了 12 个小时了 所以我想是时候认输了 错
  • 如何从 AngularJS 中的变量设置 iframe src 属性

    我正在尝试设置src来自变量的 iframe 属性 但我无法让它工作 标记 div class col xs 12 ul class li a href project url a li ul Something wrong div
  • 什么是用户代理样式表?

    我正在 Google Chrome 中处理网页 它可以正确显示以下样式 table display table border collapse separate border spacing 2px border color gray 需要
  • RegEx 自 PHP 7.4 起失败,在 7.3 中工作

    有什么想法为什么这个 preg match 可以在 PHP7 2 上工作但在 7 3 上失败 word umweltfreundilch real life example preg match U aeiouy aeiouy X u wo
  • 使用Retrofit解析本地JSON文件中的文本

    我有一个 JSON 文本文件 res raw 阅读其文本内容后 我想使用 Retrofit 将 JSON 文本解析为 Object 但似乎 Retrofit 只接受服务器中文件的输入 在这种情况下是否可以重用 Retrofit 的 JSON
  • 可以通过修改页表来移动内存页吗?

    是否有可能 在任何合理的操作系统上 最好是Linux 通过仅修改页表而不实际移动任何数据来交换两个内存页的内容 动机是密集矩阵转置 如果数据被页面 大小阻止 则可以在页面内转置数据 适合缓存 然后交换页面以将块移动到最终位置 一个大的矩阵会
  • 在 C# 中引用 SSAS 表格模型时出现异常

    我正在尝试通过 C 自动执行 Azure Analysis Services 中的分区刷新 我已经安装并引用了最新的 Microsoft AnalysisServices 程序集在这里找到 https learn microsoft com
  • 有没有办法使用nodejs-webkit打包chrome应用程序

    假设我有一个应用程序 我希望它可以独立执行 我发现你可以用普通的网页 网络应用程序来做到这一点 使用https github com rogerwang node webkit https github com rogerwang node
  • chmod 在 Windows 上如何工作? [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 Windows 文件权限与 nix 权限有很大不同 那么 chmod 是如何从GnuWin http gnuwin32 sourceforge net
  • 这是如何计算的?我试图了解 H 的值如何在列表中分配

    该谓词应该打印尺寸列表N包含可能的排列0 and 1 我的问题是 H每次递归都会结转 或者使用以下值创建列表bit H 发生在回溯阶段吗 bit 0 bit 1 gen 0 gen N H T N gt 0 bit H N1 is N 1
  • 如何将 SIGFPE 与信号一起使用?

    我刚刚了解了 C C 中的 信号 并进行了尝试 但我有一个问题来理解逻辑SIGFPE 我编写了一个小程序 它将遇到被零除的情况 如果发生这种情况 则应该触发信号并执行信号处理程序 但我的程序却崩溃了 那么这样做的目的是什么SIGFPE如果它
  • FFMPEG 没有记录整个窗口

    我正在使用 FFMPEG 录制一个窗口 如下图所示 在所有情况下 记录窗口的右侧都会被裁剪 我给出的命令是 ffmpeg f gdigrab i title example txt Notepad output mkv 非常感谢任何有关如何
  • 有没有办法仅在第一个(例如 100 个 epoch)之后在 Keras 中实现提前停止

    我的拟合函数是非凸的 因此损失函数有时会在改善之前恶化 鉴于此 我想使用早期停止 但仅限于前 100 个或更多时期之后 到目前为止我有这个 Early stopping ES EarlyStopping monitor val loss p
  • Bluehost 上的 PHP Websocket

    我正在尝试设置基于 Websocket 的 PHP 聊天应用程序使用 WebSocket 和 PHP Socket 聊天 https github com sanwebe Chat Using WebSocket and PHP Socke
  • 无法在此文件中预览 -- 消息发送失败

    我创建了一个新的 SwiftUI 项目 但代码不会在实时预览窗口中加载 我每次都会收到以下错误 无法在此文件中预览 但是当我在模拟器上运行它时 它也适用于其他视图 这是代码 import SwiftUI import FirebaseAut