2017-04-01 54 views
1

我有一個完成的項目,包括30vcs,Firebase,Googlemaps集成等 - 也就是一個非常複雜的項目,它是一個基於地理位置的遊戲,我終於經過幾個月的工作完成。中止陷阱:新Swift 3.1/Xcode 8.3中的錯誤8.3

工作和編譯得很好,直到我試圖編譯它在新的Swift 3.1/Xcode 8.3中。

更改幾行建議的語法以清除新的XCODE 8.3錯誤之後,編譯失敗並顯示「Abort Trap:6」錯誤。

這是調試器的最後幾行(在此之前,約100行不可理解的文件名/數字等)。

0迅速0x00000001089f1eb7 PrintStackTraceSignalHandler(無效*)+ 39 1迅速
0x00000001089f1366 SignalHandler(INT)+ 646 2 libsystem_platform.dylib 0x00007fffc602eb3a _sigtramp + 26 3 libsystem_platform.dylib 0x0000000100000001 _sigtramp + 972887265 4 libsystem_c。 dylib 0x00007fffc5eb3420中止+ 129 5迅速
0x0000000106454644 迅速:: ModuleFile :: getDecl(LLVM :: PointerEmbeddedInt, LLVM ::可選)+ 38404 6迅速
0x00000001064564fa 迅速:: ModuleFile ::的getType(LLVM :: PointerEmbeddedInt) + 2106 7迅速0x000000010644f373迅速:: ModuleFile :: getDecl(LLVM :: PointerEmbeddedInt, LLVM ::可選)+ 17203 8迅速
0x0000000106459f24 迅速:: ModuleFile :: maybeReadPattern(SWIFT :: DeclContext *)+ 740 9 迅速0x000000010644f605 迅速:: ModuleFile :: getDecl(LLVM :: PointerEmbeddedInt, LLVM ::可選)+ 17861 10迅速
0x00000001064607c8迅速:: ModuleFile :: loadAllMembers(swift :: Decl *, unsigned long long)+ 600 11 swift
0x0000000106840f0d swift :: NominalTypeDecl :: getMembers()const + 125 12 迅速0x0000000106828c75(匿名 命名空間)::遍歷:: visitNominalTypeDecl(SWIFT :: NominalTypeDecl *)+ 869 13迅速0x0000000106826645(匿名 命名空間)::遍歷:: doIt方法(SWIFT ::申報*)+ 277 14迅速
0x000000010619a75f 迅速:: SILPassManager :: SILPassManager(SWIFT :: SILModule *, LLVM :: StringRef)+ 1471 15迅速0x00000001061a135f 迅速:: runSILDiagnosticPasses(SWIFT :: SILModule &)+ 159 16迅速
0x0000000105811282迅速:: performFrontend(llvm :: ArrayRef, char const *,void *,swift :: FrontendObserver *)+ 42866 17 swift
0x00000001057c088c主+ 9052 18 libdyld。dylib
0x00007fffc5e1f235啓動+ 1堆棧轉儲:

(這裏是約150不可理解調試號/文件/ alphanumericals的線 - 隨後這到底):

  1. 儘管裝填構件在模塊 '主頁' 'googleMapsPractice'
  2. 雖然反序列化PatternBindingDecl#295in 'googleMapsPractice'
  3. 儘管在反序列化 'gameDBRef'(VarDecl#296) 'googleMapsPractice'
  4. 儘管在 'googleMapsPractice'
  5. 交叉引用模塊 'FirebaseDatabase' 反序列化DECL#1009(XREF)... FIRDatabaseReference

我真的陷入了困境,因爲我不知道在哪裏尋找調試。

'homePage.swift'是遊戲的設置頁面VC,是唯一在調試器中引用的VC,有沒有解決陷阱Trap 6錯誤的常見解決方案,我可以試試這個VC呢?這大概是2000行代碼,我甚至不確定問題在於VC,因爲調試器太模糊了。

任何幫助,將不勝感激

+1

在C中,「中止陷阱:6」是指超出允許的內存寫入,通常寫入一個不夠大的數組時。 – GlennRay

+0

感謝您的評論 - 我使用的所有數組正在編譯,直到xcode 8.2 - 任何方式來檢查哪個特定的數組可能會導致此?我有幾個數組,用.append添加到代碼中,完全沒有問題。另外 - 任何想法,如果上述調試信息意味着問題在於「homepage.swift」,或者它可能仍然在任何地方? – Apneist

+0

我假設你已經嘗試了通常的嫌疑犯,例如重新啓動Xcode,清理項目,刪除派生數據等。正確嗎?如果沒有,你可能想首先嚐試,如果你仍然有這個問題,編譯器錯誤的完整截圖可能會幫助別人幫助你。如果你可以與我分享這個項目,我很樂意看看,但我有一種感覺,你可能不會太熱衷於:) – Fahim

回答

1

在我的情況,看來,它是由於本地項目計劃在我的應用程序試圖連接到項目構建缺相。

1

我遇到了同樣的問題。我終於明白,它是由任何從NSObject繼承的類重寫'var description'造成的。我注意到在Swift 3.1中有一個關於NSObject的'class func description()',我不一定記得在Swift 3.0中(雖然我可能很容易被誤認爲這個假設;我從來沒有找過或用它)。另請參見https://forums.developer.apple.com/thread/75700

2

這發生在我身上,因爲我曾在主class既是private enum,那類的extension。這兩個文件都在同一個文件中。整蠱!

1

我遇到了錯誤,因爲我的類有一個不同的名稱比文件名。更正後的文件名和一切工作正常,然後