Error de Apple Mach-O Linker utilizando classs de Core Data en OCUnit

OK, aquí está mi código en mi class de testing:

- (NSManagedObjectContext*)managedObjectContextWithConcurrencyType:(NSManagedObjectContextConcurrencyType)concurrencyType { NSManagedObjectModel *mom = [NSManagedObjectModel mergedModelFromBundles:nil]; STAssertNotNil(mom, @"Can not create MOM from main bundle"); NSPersistentStoreCoordinator *psc = [[NSPersistentStoreCoordinator alloc] initWithManagedObjectModel:mom]; STAssertNotNil(psc, @"Can not create persistent store coordinator"); NSPersistentStore *store = [psc addPersistentStoreWithType:NSInMemoryStoreType configuration:nil URL:nil options:nil error:0]; STAssertNotNil(store, @"Can not create In-Memory persistent store"); NSManagedObjectContext *moc = [[NSManagedObjectContext alloc] initWithConcurrencyType:concurrencyType]; moc.persistentStoreCoordinator = psc; return moc; } 

Y aquí está el post de error al intentar utilizar el método en un método de testing:

 Undefined symbols for architecture i386: "_NSInMemoryStoreType", referenced from: -[CrosswordItemTests managedObjectContextWithConcurrencyType:] in CrosswordItemTests.o "_OBJC_CLASS_$_NSEntityDescription", referenced from: objc-class-ref in CrosswordItemTests.o "_OBJC_CLASS_$_NSManagedObjectContext", referenced from: objc-class-ref in CrosswordItemTests.o "_OBJC_CLASS_$_NSManagedObjectModel", referenced from: objc-class-ref in CrosswordItemTests.o "_OBJC_CLASS_$_NSPersistentStoreCoordinator", referenced from: objc-class-ref in CrosswordItemTests.o ld: symbol(s) not found for architecture i386 clang: error: linker command failed with exit code 1 (use -v to see invocation) 

Pensé que importaba las classs necesarias así en el file .h:

 #import <CoreData/CoreData.h> 

¿Qué me estoy perdiendo?

En mi experiencia, los errores de i386 tienden a provenir de bibliotecas que faltan. No es suficiente para simplemente importarlo en su file, también debe agregarlo a las bibliotecas del proyecto. Vaya al Objetivo del proyecto -> Fases de compilation -> Enlace binary con bibliotecas y, en su caso, agregue las bibliotecas asociadas con Datos básicos.

Probablemente no hayas vinculado la biblioteca con el objective.

introduzca la descripción de la imagen aquí

Tomado de: http://yannickloriot.com/wp-content/uploads/2012/03/Link-CoreData-Framework-To-The-Project.png

Cambiar el 'No hay bloques comunes' de Sí a No (en Destinos-> Configuración de compilation-> Apple LLVM – Generación de código) solucionó el problema. Esto solucionó mi problema. Espero que te ayude.