2016-11-21 55 views
2

我遇到了一组神秘链接器错误。我的常规目标和UITest目标生成并执行正常,但UnitTest目标总是失败,并显示下面的错误。似乎是CoreData的一些问题,但我不明白为什么它在测试目标上的错误,而不是在主要目标上。我试过了: 1)清除导出的数据。 2)重新启动xCode 3)干净的安装荚Xcode 8 UITests“直接字段偏移”的构建错误

任何有关在哪里寻找问题的帮助将不胜感激。我很难过。谢谢!

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

尝试:http://stackoverflow.com/questions/9458739/ld-warning-directory-not-found-for-option – shallowThought

回答

6

通过审阅我的承诺项目,通过项目,我跟踪它到一个SWIFT_WHOLE_MODULE_OPTIMIZATION标志。从项目中删除此设置修复了它。我不知道为什么,但我想我会离开这个以防万一有人帮助。

+0

由于优化有更多的检查需要,它可以检测到不会出现没有它。 因此,基本上这些代码有bug,可能会导致发布应用程序出现意外的行为 –