2014-09-21 11 views
18

Ich baue ein SpriteKit-Spiel mit der Xcode 6.1-Beta, die ich ursprünglich mit der Release-Version von Xcode 6.0.1 erstellt habe. Ich bin wegen der korrupten SKs-Probleme in 6.0.1 zu 6.1 gewechselt. Jetzt erhalte ich einen Laufzeitfehler beim Start:Ab Xcode 6.1 - Linker-Fehler

dyld: Symbol not found: _swift_isaMask 

Ich verstehe, dass dies ein Linker-Fehler ist, aber was soll ich tun, um es zu beheben? Oder soll ich einfach ein neues Projekt in Xcode 6.1 erstellen und meine Dateien kopieren? Vielen Dank.

EDIT 1: Ich habe versucht, ein völlig neues Projekt mit Xcode 6.1, und ich bekomme immer noch den gleichen Fehler.

Antwort

43

Ich hatte das gleiche Problem; Ich habe mein Projekt gereinigt (cmd + shift + k) und das hat den Fehler behoben.

+1

Ich benutze Yosemite GM und 8.0.2 - das hat das Problem geklärt. –

+1

Dies löste mein Problem auf Yosemite GM 2, iOS 8.1 und Xcode 6.1 6A1046a –

+1

Dies löste mein Problem auch. Ich kann überprüfen, ob das funktioniert, wenn Sie von 6.0 bis 6.1 kommen. – Aggressor

0

Was ich mache ist sks Dateien mit XCODE 6.1 zu erstellen, und für den Rest der Arbeit verwende ich XCODE 6.0.1.

Wenn Sie etwas an Ihren Sks ändern möchten, müssen Sie erneut zu 6.1 wechseln. Wählen Sie nie eine SKs-Datei unter 6.0.1

+0

In der Tat, das ist was ich vorhabe. Apple sollte ernsthaft eine schnelle Lösung dafür in der öffentlichen Version von Xcode 6.0.1 bekommen. Wir sollten nicht bis Oktober auf eine richtige IDE warten müssen. –

1

Reinigung und Wiederaufbau des Projekts hat mir nicht geholfen. In meinem Fall hatte ich eine Klasse, die ein einfacher UIViewController, die Implementierung eine Datenquelle und Delegierten zugleich war:

public class MyViewController: UIViewController, UIPickerViewDelegate, 
        UIPickerViewDataSource { 
     ... 

Wenn ich entfernte die beiden Protokolle (UIPickerViewDelegate und UIPickerViewDataSource) und entfernt alle Methoden aus der Klasse des implementiert sie, dann könnte ich ohne ein Problem bauen. Ich habe dann die Methoden nur neu hinzugefügt, es gebaut, dann ging ich wieder auf das zurück, was ich vorher hatte und - hole das - baute es. Pfui.

Es scheint also einige Probleme mit dem Swift-Linker zu geben. Spielen Sie mit der fraglichen Klasse herum, vereinfachen Sie sie, bis sie entsteht, und fügen Sie Stück für Stück wieder hinzu.