Problemi di app delegate / scene delegate e Firebase dopo l'aggiornamento da Xcode 11 a 12 [chiuso]

Oct 05 2020

Quindi ho creato la mia prima app e quando ho recentemente aggiornato a Xcode 12 si sono verificati più problemi ...

Ho notato che non ci sono più file delegati di app e scene ma il mio progetto li sta ancora utilizzando. Mi chiedo come posso ripulirlo senza copiare e incollare tutto in un nuovo progetto.

Inoltre sto ricevendo più avvisi che dicono:

"La destinazione di distribuzione del simulatore iOS 'IPHONEOS_DEPLOYMENT_TARGET' è impostata su 8.0, ma l'intervallo di versioni di destinazione di distribuzione supportate è da 9.0 a 14.0.99."

Al momento ho il mio obiettivo di distribuzione su iOS 13. Se lo cambio in 9, il mio modulo URLIMAGE viene visualizzato un errore poiché ha un minimo di 11. Quando lo cambio in 11 ho più di 999 errori ...

esempio sotto:

Non ho idea di cosa metterlo!

Sto anche vedendo insieme a URLImage che la mia base di fuoco non funziona correttamente e che la maggior parte della mia interfaccia utente è scomparsa. Sto eseguendo un tutorial su Instagram e il mio feed "Home" è ora vuoto. Il mio file di feed della storia funziona ancora bene, non sei sicuro che abbia qualcosa a che fare con Firebase o URLImage?

Ho giocato con la vista e ho aggiunto un rettangolo sotto la mia visualizzazione a scorrimento della storia ed è apparso quindi sospetto che abbia qualcosa a che fare con Firebase.

Codice attuale:

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)
                    }
                    
                }
                }

Questo è il mio 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
        }

    }
}

Qualsiasi aiuto sarebbe molto apprezzato!

Risposte

1 PeterFriese Oct 05 2020 at 06:58

Senza vedere il tuo codice, è difficile dire quale sia esattamente la causa dei problemi che stai riscontrando. Tuttavia, per rispondere ad alcune delle tue domande:

  1. Puoi ancora usare il vecchio modo in cui è configurata l'app (usando AppDelegatee SceneDelegate. Vedi la mia risposta qui per maggiori dettagli
  2. Puoi tranquillamente ignorare gli avvisi. Se ti dà molto fastidio, dai un'occhiata a questa risposta per trovare un modo per abbinare l'obiettivo di distribuzione dei tuoi pod.

Per quanto riguarda il motivo per cui la tua interfaccia utente è scomparsa, sarebbe utile se potessi fornire un paio di frammenti di codice pertinenti e alcune righe dall'output del log. Inoltre, assicurati di controllare se le tue regole di sicurezza sono impostate correttamente.