首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >iTunes的奇怪错误

iTunes的奇怪错误
EN

Stack Overflow用户
提问于 2012-02-17 18:35:25
回答 1查看 902关注 0票数 2

我正在尝试创建一个控制ObjC的iTunes应用程序。我需要一个方法,它将返回iTunes中所有播放列表的数组。

我收到了史上最奇怪、最没用的错误信息.第一,守则:

代码语言:javascript
复制
#import "MusicControl.h"
#import "iTunes.h"

@implementation MusicControl


- (SBElementArray *) playlists {  


    // Create iTunes Object
    iTunesApplication *iTunes = [SBApplication applicationWithBundleIdentifier:@"com.apple.iTunes"];

     NSArray *sources = [iTunes sources];
     iTunesSource *librarySource = nil;

     for (iTunesSource *source in sources) {
     if ([source kind] == iTunesESrcLibrary) {
     librarySource = source;
     break;
     }
     }

     return [librarySource userPlaylists]; 
} 

@end

我不知道数组返回是否工作,因为在进行了一些调试之后,我发现这是我创建iTunes对象的第一行,该对象是从复制和粘贴的。

我得到的错误是:

代码语言:javascript
复制
Undefined symbols for architecture x86_64:
  "_OBJC_CLASS_$_SBApplication", referenced from:
      objc-class-ref in MusicControl.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

到底是怎么回事有什么建议吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-02-17 19:07:38

这个消息(和类似的消息)意味着链接器正在寻找某个特定的符号,但是找不到它。在您的例子中,它是SBApplication

如果您还没有这样做,您应该确保您已经链接到ScriptingBridge框架。

若要添加框架,请单击Xcode中左侧条形图顶部的项目图标,然后选择构建阶段。如果还没有扩展带有二进制库的链接,那么就这样做,并添加框架。

同样的过程也可以用于普通库(框架实际上只是一个库的包装器,至少在本讨论中是如此)。

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

https://stackoverflow.com/questions/9333551

复制
相关文章

相似问题

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