首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用AssetsLibrary.h时出错

使用AssetsLibrary.h时出错
EN

Stack Overflow用户
提问于 2014-07-15 19:41:20
回答 3查看 80关注 0票数 0

我的代码在源代码中如下所示:

代码语言:javascript
复制
+ (ALAssetsLibrary *)defaultAssetsLibrary {
   static dispatch_once_t pred = 0;
   static ALAssetsLibrary *library = nil;
   dispatch_once(&pred, ^{
    library = [[ALAssetsLibrary alloc] init];
    });
   return library;
}

当我尝试构建时,它给出的错误如下:

代码语言:javascript
复制
  "_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

现在,当我像下面这样注释某些行时,它不会显示错误。但是,我无法获得库的价值。

代码语言:javascript
复制
+ (ALAssetsLibrary *)defaultAssetsLibrary {
   static dispatch_once_t pred = 0;
   static ALAssetsLibrary *library = nil;
   //dispatch_once(&pred, ^{
    //library = [[ALAssetsLibrary alloc] init];
   // });
   return library;
 }

有人能告诉我这里到底出了什么问题吗?

EN

回答 3

Stack Overflow用户

发布于 2014-07-15 19:48:00

这是链接器错误,您需要添加资源库

代码语言:javascript
复制
/System/Library/Frameworks/AssetsLibrary.framework

框架添加到您的项目。

票数 2
EN

Stack Overflow用户

发布于 2014-07-15 19:48:18

您是否已将AssetsLibrary框架添加到目标的“将二进制文件与库链接”构建阶段?听起来和我几周前遇到的类似问题一模一样。

票数 1
EN

Stack Overflow用户

发布于 2014-07-16 12:47:09

我刚拿到。错误很简单,因为AssestsLibrary.framework也出现在我的下载中,而程序默认指向该位置。所以,我在downloads上删除了这个框架,它起作用了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24757298

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档