我的代码在源代码中如下所示:
+ (ALAssetsLibrary *)defaultAssetsLibrary {
static dispatch_once_t pred = 0;
static ALAssetsLibrary *library = nil;
dispatch_once(&pred, ^{
library = [[ALAssetsLibrary alloc] init];
});
return library;
}当我尝试构建时,它给出的错误如下:
"_OBJC_CLASS_$_ALAssetsLibrary", referenced from:
objc-class-ref in Setting_Main.o //Setting_Main.o reflects name of my source file Setting_Main.h
ld: symbol(s) not found for architecture i386现在,当我像下面这样注释某些行时,它不会显示错误。但是,我无法获得库的价值。
+ (ALAssetsLibrary *)defaultAssetsLibrary {
static dispatch_once_t pred = 0;
static ALAssetsLibrary *library = nil;
//dispatch_once(&pred, ^{
//library = [[ALAssetsLibrary alloc] init];
// });
return library;
}有人能告诉我这里到底出了什么问题吗?
发布于 2014-07-15 19:48:00
这是链接器错误,您需要添加资源库
/System/Library/Frameworks/AssetsLibrary.framework框架添加到您的项目。
发布于 2014-07-15 19:48:18
您是否已将AssetsLibrary框架添加到目标的“将二进制文件与库链接”构建阶段?听起来和我几周前遇到的类似问题一模一样。
发布于 2014-07-16 12:47:09
我刚拿到。错误很简单,因为AssestsLibrary.framework也出现在我的下载中,而程序默认指向该位置。所以,我在downloads上删除了这个框架,它起作用了。
https://stackoverflow.com/questions/24757298
复制相似问题