从 Xcode 11 更新到 12 后的 App Delegate/Scene Delegate 和 Firebase 问题 [关闭]

Posted

技术标签:

【中文标题】从 Xcode 11 更新到 12 后的 App Delegate/Scene Delegate 和 Firebase 问题 [关闭]【英文标题】:App Delegate/Scene Delegate and Firebase issues after updating from Xcode 11 to 12 [closed] 【发布时间】:2021-01-19 23:23:06 【问题描述】:

所以我一直在构建我的第一个应用程序,当我最近更新到 Xcode 12 时,出现了多个问题......

我注意到不再有应用程序和场景委托文件,但我的项目仍在使用它。想知道如何在不将所有内容复制并粘贴到新项目中的情况下清理它。

我也有多个警告说:

ios 模拟器部署目标 'IPHONEOS_DEPLOYMENT_TARGET' 设置为 8.0,但支持的部署目标版本范围是 9.0 到 14.0.99。”

我目前的部署目标是 iOS 13。如果我将其更改为 9,我的 URLIMAGE 模块会出现错误,因为它至少有 11 个。当我将其更改为 11 时,我有 999 多个错误...

下面的例子:

我不知道该放什么!

我还与 URLImage 一起看到我的 firebase 无法正常工作,并且我的大部分 UI 都消失了。 我正在浏览一个 instagram 教程,而我的“主页”提要现在是空白的。我的故事提要文件仍然可以正常工作,但不确定它是否与 firebase 或 URLImage 有关?

我玩过这个视图,并在我的故事滚动视图下方添加了一个矩形,它已经出现了,所以我怀疑它与 firebase 有关。

当前代码:

import SwiftUI
import URLImage
import Firebase

struct HomeView: View 
    
    @ObservedObject var homeViewModel = HomeViewModel()
    
    var body: some View 
        NavigationView 
            
            ScrollView(.vertical, showsIndicators: false) 
                
                Story()
                Rectangle().frame(width: 200, height: 200).foregroundColor(.red)
                if !homeViewModel.isLoading 
                    ForEach(self.homeViewModel.posts, id: \.postId)  post in
                        VStack(alignment: .center) 
                            
                            HeaderCell(post: post)
                            FooterCell(post: post)
                            
                            .background(Color.white).cornerRadius(10)
                            .padding(.leading, 10).padding(.trailing, 10)
                    
                    
                
                

这是我的 HomeViewModel:

import Foundation
import SwiftUI
import Firebase

class HomeViewModel: ObservableObject 
    @Published var posts: [Post] = []
    @Published var isLoading = false
    
    var listener: ListenerRegistration!
    
//    init() 
//        loadTimeline()
//    
    
    func loadTimeline() 
        self.posts = []
        isLoading = true
        
        Api.Post.loadTimeline(onSuccess:  (posts) in
            self.isLoading = false

            if self.posts.isEmpty 
                self.posts = posts
            
        , newPost:  (post) in
            if !self.posts.isEmpty 
                self.posts.insert(post, at: 0)
            
        )  (listener) in
            self.listener = listener
        

    

任何帮助将不胜感激!

【问题讨论】:

这被标记为 Firebase,但问题中没有 Firebase 代码或引用。尝试读取数据时,安全规则可能会阻止加载,甚至可能您未通过身份验证。但是,如果没有更多信息,很难说。 【参考方案1】:

如果没有看到您的代码,很难说出您所看到的问题的确切原因。但是,要回答您的一些问题:

    您仍然可以使用旧的应用设置方式(使用AppDelegateSceneDelegate。有关详细信息,请参阅我的回答here 您可以放心地忽略这些警告。如果它很困扰您,请查看 this answer 以了解与您的 pod 的部署目标相匹配的方法。

至于为什么你的 UI 消失了,如果你能提供一些相关的代码 sn-ps 和你的日志输出中的几行,那将会很有用。另外,请务必检查您的安全规则是否设置正确。

【讨论】:

感谢您的帮助,我已经用我的代码更新了我的问题。让我知道这是否为您提供了足够的信息来查看问题!干杯 您似乎从未触发加载数据。 很奇怪,因为它在更新之前没有改变。只更新一次就停止工作了? HomeViewModel.loadTimeline() 永远不会在您在此处发布的代码中调用,因为 init() 方法已被注释掉。请尝试取消注释该方法。 更新前已注释掉。从那以后我没有更改任何代码。我尝试取消注释,但仍然没有。

以上是关于从 Xcode 11 更新到 12 后的 App Delegate/Scene Delegate 和 Firebase 问题 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

升级到 Xcode 12.5 后的 xcodebuild 问题

更新到IOS11和Xcode9后的问题!! “com.google.Maps.LabelingBehavior”、“TIC 读取状态”

更新 app-info.plist 后的 xcode 仅显示应用程序中可用的旧信息

升级到 Xcode 12 后的词法或预处理器问题

Xcode 11.3“没有可用的条件”

安装 Xcode 11 beta 并保留 Xcode 10.2 后 App Store 拒绝我的更新