gpt4 book ai didi

ios - 在 OCUnit 中使用核心数据类的 Apple Mach-O 链接器错误

转载 作者:可可西里 更新时间:2023-11-01 04:05:48 27 4
gpt4 key购买 nike

好的,这是我在测试类中的代码:

 - (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;
}

下面是尝试在测试方法中使用该方法时的失败消息:

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)

我以为我在 .h 文件中导入了所需的类:

#import <CoreData/CoreData.h>

我错过了什么?

最佳答案

根据我的经验,i386 错误往往来自缺少库。仅仅将它们#import 到您的文件中是不够的,您还必须将它们添加到项目库中。进入 Project Target -> Build Phases -> Link Binary with Libraries,在你的情况下添加与 Core Data 关联的库。

关于ios - 在 OCUnit 中使用核心数据类的 Apple Mach-O 链接器错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11312915/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com