2016-11-21 2 views
2

Ich habe Probleme mit einer Reihe von Mystery-Linker-Fehler. Meine regulären Ziele und UITest-Ziele werden ordnungsgemäß erstellt und ausgeführt, aber das UnitTest-Ziel schlägt immer mit dem folgenden Fehler fehl. Scheint ein Problem mit CoreData zu sein, aber ich kann nicht herausfinden, warum es Fehler auf dem Testziel und nicht im Hauptziel gibt. Ich habe versucht: 1) Löschen der abgeleiteten Daten. 2) Neustart xCode 3) saubere Installation von PodsBuild-Fehler für Xcode 8 UITests "Direktfeld-Offset"

Jede Hilfe über, wo man für das Problem suchen würde sehr geschätzt werden. Ich bin ratlos. Vielen Dank!

Undefined symbols for architecture x86_64: 
    "direct field offset for playolaIphone.AppDelegate.(managedObjectModel.storage in _D550B33DB84959D9A74FD87E48EB7BC7) : __ObjC.NSManagedObjectModel?", referenced from: 
     playolaIphone.AppDelegate.managedObjectModel.setter : __ObjC.NSManagedObjectModel in MockAppDelegate.o 
     playolaIphone.AppDelegate.(managedObjectModel.materializeForSet : __ObjC.NSManagedObjectModel).(closure #1) in MockAppDelegate.o 
    "direct field offset for playolaIphone.AppDelegate.(managedObjectContext.storage in _D550B33DB84959D9A74FD87E48EB7BC7) : __ObjC.NSManagedObjectContext?", referenced from: 
     playolaIphone.AppDelegate.managedObjectContext.setter : __ObjC.NSManagedObjectContext in MockAppDelegate.o 
     playolaIphone.AppDelegate.(managedObjectContext.materializeForSet : __ObjC.NSManagedObjectContext).(closure #1) in MockAppDelegate.o 
    "direct field offset for playolaIphone.AppDelegate.(persistentStoreCoordinator.storage in _D550B33DB84959D9A74FD87E48EB7BC7) : __ObjC.NSPersistentStoreCoordinator?", referenced from: 
     playolaIphone.AppDelegate.persistentStoreCoordinator.setter : __ObjC.NSPersistentStoreCoordinator in MockAppDelegate.o 
     playolaIphone.AppDelegate.(persistentStoreCoordinator.materializeForSet : __ObjC.NSPersistentStoreCoordinator).(closure #1) in MockAppDelegate.o 
    "direct field offset for playolaIphone.AppDelegate.(applicationDocumentsDirectory.storage in _D550B33DB84959D9A74FD87E48EB7BC7) : Foundation.URL?", referenced from: 
     playolaIphone.AppDelegate.applicationDocumentsDirectory.setter : Foundation.URL in MockAppDelegate.o 
     playolaIphone.AppDelegate.(applicationDocumentsDirectory.materializeForSet : Foundation.URL).(closure #1) in MockAppDelegate.o 
ld: symbol(s) not found for architecture x86_64 
clang: error: linker command failed with exit code 1 (use -v to see invocation) 
+0

Versuchen Sie: http://StackOverflow.com/questions/9458739/ld-warning-directory-not-found-for-option – shallowThought

Antwort

6

von durch Artikel-für-Artikel meines begehen gehen, verfolgen ich es zu einem SWIFT_WHOLE_MODULE_OPTIMIZATION zuwinken. Löschen dieser Einstellung aus dem Projekt behoben. Ich habe keine Ahnung warum, aber ich denke, ich lasse das auf, für den Fall, dass es jemandem hilft.

+0

Aufgrund der Optimierung sind mehr Prüfungen erforderlich, die Probleme erkennen können, die nicht ohne angezeigt werden es. Also im Grunde hat der Code Fehler, die zu einem unerwarteten Verhalten für die Release-App führen können –