Ulepszyłem Firebase wczoraj, a teraz mam bardzo nietypowy problem. Po uruchomieniu symulatora pojawia się szybki błąd kompilacji "Błąd segmentacji: 11" Są to setki linii kodu opisujących błąd, ale one absolutnie nie są pomocne. Z błędu jedyne, co widzę, może dawać wskazówki, jest na dole. Jest napisane:Ulepszona baza Firebase - teraz otrzymuję błąd kompilacji Swift
1. While loading members for 'ProfileTableViewController' at <invalid loc>
2. While deserializing decl #101 (PATTERN_BINDING_DECL)
3. While deserializing decl #2 (VAR_DECL)
Dziwnie, błędy, które wpisałem powyżej, nie są spójne. Wspomniany kontroler widoku obraca się między trzema kontrolerami widoku, w których używam Firebase.
Aby rozwiązać problem, skomentowałem cały kod w klasie ProfileTableViewController, ale nadal występuje błąd odwołujący się do tego kontrolera widoku. Jedyny kod działający w kontrolce widoku:
import UIKit
import Firebase
import FirebaseDatabase
(Używam również FirebaseAuth w innych kontrolerach widoku).
Rozwiązaniem problemu jest "wyczyszczenie", ponowne uruchomienie xcode, ponowne oczyszczenie przy starcie, a następnie uruchomienie programu. Wszystko będzie działać poprawnie, chyba że wprowadzę jakiekolwiek zmiany w kodzie w programie. Nawet jeśli wszystko, co robię, to dodać komentarz, błąd pojawi się ponownie.
Nie chcę już zamykać kodu xcode i restartować za każdym razem, gdy piszę kilka linii kodu, i obawiam się, że napotkam problemy podczas przesyłania do sklepu z aplikacjami.
Używam XCode 7.3.1 i moim celem wdrożenia jest 9,3
Każdy wgląd można dać mile widziana! Dziękuję Ci!
* kompilator * generuje "Błąd segmentacji: 11"? – luk2302
Nawigator problemów wyświetla nazwę mojej aplikacji, a następnie menu rozwijane z informacją "Błąd kompilacji Swift" i menu rozwijane z napisem "Polecenie nie powiodło się z powodu sygnału: błąd segmentacji: 11" Kompilator wydaje się kompilować wszystkie kontrolery widoku a następnie pojawia się błąd, który zaczyna się od tego: MergeSwiftModule normal arm64 –
Jestem w stanie odtworzyć błąd. Błąd jest tworzony za każdym razem, gdy próbuję odwołać się do bazy danych na dwóch różnych kontrolerach widoku. Deklaruję odniesienie w ProfileTableView Controller z "var ref: FIRDatabaseReference!" a następnie w metodzie viewWillAppear ustawiam odwołanie z ref = FIRDatabase.database(). reference() Błąd jest odtwarzany, gdy robię to samo w innym kontrolerem widoku. Jak tylko wspomniano dwa razy w programie, to błędy. –