2016-11-26 2 views
1

Ich versuche ein Projekt von Swift 2 zu 3 zu übersetzen, und ich habe verschiedene Probleme.unaufgelöste Bezeichner Fehler in Xcode 8 und Swift 3

Zuerst habe ich XCode 8-integriertes Migrationstool für die automatische Konvertierung des Codes verwendet, aber nach der Konvertierung zeigt mir die IDE viele Fehler, zum Beispiel wenn ich die Variablentypen von NSURL zu URL I änderte den Fehler "nicht aufgelöster Bezeichner 'URL'" bekommen, und das gleiche passiert mit anderen Typen wie Datum, Bundle, DispatchQueque .. (Ich habe Foundation importiert)

Andere Arten von Fehlern sind zum Beispiel "UIImagePickerControllerSourceType hat kein Mitglied 'Kamera' ", aber auf der documentation Überprüfung scheint es richtig zu sein.

Hier gibt es einen Code-Schnipsel:

func createFileUrl() -> URL { 
     let dateFormatter = DateFormatter() 
     dateFormatter.dateFormat = "yyyy-MM-dd_HH-mm-ss" 

     let fileName: String = dateFormatter.string(from: Date()) + (".m4a") 
     let filePath: String = getCacheDirectory() + ("/\(fileName)") 

     self.recordedAudioUrl = URL(fileURLWithPath: filePath) 
     return self.recordedAudioUrl 
    } 

Die hier Fehler sind ungelöst Bezeichner: URL, Datum, DateFormatter.

Ein anderes großes Problem ist, dass Xcode den Fehler in der vorherigen Codezeile hervorhebt und wenn ich den Code ändere (auch zum Beispiel nur die Zeile lösche) verschwindet der Fehler nicht.

Hat jemand ähnliche Probleme? Ich bin nicht vertraut mit Swift, aber es scheint, dass mein Xcode nicht richtig funktioniert.

EDIT: Ich habe eine Lösung gefunden, mein Code automatisch generiert durch ein Modellierungswerkzeug in Eclipse, ich habe gerade hinzugefügt SWIFT_VERSION = 3,0 in den Build-Einstellungen und jetzt geht alles in Ordnung

+0

Sind Sie sicher, dass Sie auf Swift 3 (nicht Swift 2.3) aktualisiert haben? Versuchen Sie das Projekt zu säubern (⇧⌘K) – vadian

+0

Schließen Sie Xcode, öffnen Sie erneut. –

+0

Ich habe versucht, mehrmals zu öffnen, nichts hat sich geändert. Ich habe auf swift 3 aktualisiert, Reinigung des Projekts sagt: clean failed –

Antwort

0

, wenn Sie viele Fehler haben, möglicherweise Sie haben 1} geschweifte Klammern verloren, als ich Ihren Code ausprobierte, und es gibt keine Probleme mit Date, URL und DateFormatter.

versuchen Sie, Ihr Projekt auszuführen, neu zu öffnen, zu reinigen und sogar Ihren Mac neu zu starten.