昨日Firebaseをアップグレードしたところ、非常に異常な問題が発生しました。私がシミュレータを実行すると、すぐにエラーが発生します。 "Segmentation fault:11"エラーを説明する何百行ものコード行ですが、絶対に役に立たないものです。このエラーから、手がかりを与えているかもしれない唯一のことは、最下部にあることです。それは言う:アップグレードされたFirebase - すぐにコンパイルエラーが発生する
1. While loading members for 'ProfileTableViewController' at <invalid loc>
2. While deserializing decl #101 (PATTERN_BINDING_DECL)
3. While deserializing decl #2 (VAR_DECL)
私はちょうど上記の入力エラーは一貫していません。上記のビューコントローラは、Firebaseを使用している3つのView Controller間を回転します。
この問題を解決するために、私はProfileTableViewControllerクラスのすべてのコードをコメントアウトしましたが、まだそのView Controllerを参照するエラーが発生しました。ビューコントローラで実行されるコードは、
import UIKit
import Firebase
import FirebaseDatabase
(他のビューコントローラでもFirebaseAuthを使用しています)でした。
問題を解決するには、「クリーン」を押し、xcodeを再起動し、起動時にもう一度クリーンアップしてからプログラムを実行する必要があります。プログラムのコードを変更しない限り、すべて正常に動作します。たとえ私がコメントを追加しても、エラーは再び表示されます。
xcodeを閉じてコードを2行書くたびに再起動する必要はありません。アプリストアにアップロードするときに問題が発生することが心配です。
私はXCodeの7.3.1を使用していますし、私のデプロイメント・ターゲットは9.3
あなたが大幅に高く評価されて与えることができます任意の洞察力です!ありがとうございました!
成功しました*コンパイラは "Segmentation fault:11"を生成しますか? – luk2302
問題のナビゲータに自分のアプリ名、「Swift Compile Error」というドロップダウンメニュー、「Signal:segmentation fault:11でコマンドが失敗しました」というドロップダウンメニューが表示されます コンパイラはすべてのView Controller次にこれで始まるエラーがあります。 MergeSwiftModule normal arm64 –
エラーを再現できます。このエラーは、2つの異なるView Controllerでデータベースを参照しようとするたびに作成されます。私は、 "var ref:FIRDatabaseReference!"を使ってProfileTableView Controllerのリファレンスを宣言します。 viewWillAppearメソッドでref = FIRDatabase.database()で参照を設定します。参照() 同じことを別のビューコントローラで行うと、エラーが再現されます。それがプログラムで2回言及されるとすぐにエラーになります。 –