要在iTunes中使用ScriptingBridge,我使用了:
iTunesApplication *iTunes = [SBApplication applicationWithBundleIdentifier:@"com.apple.iTunes"];
但是,当我运行应用程序时,(我已经将错误的来源跟踪到上面一行),我得到一个构建失败,并且这些错误:
Apple Mach-O Linker (Id) Error
"_OBJC_CLASS_$_SBApplication", referenced from:
objc-class-ref in AppDelegate.o
ld: symbol(s) not found for architecture x86_64
和
Apple Mach-O Linker (Id) Error
Linker command failed with exit code 1 (use -v to see invocation)
如何解决此问题?我从Apple Developer Scripting Bridge编程指南中复制并粘贴了这一行,所以我无法想象它会导致问题。
答案 0 :(得分:4)
这样的链接器错误表明您没有将ScriptingBridge.framework添加为链接到您产品的框架。
答案 1 :(得分:-1)
由于SpringBoard不是一个框架,并且在编译时无法链接到它,因此必须在运行时访问该类。我建议的方法是:
#import <objc/runtime.h>
SBApplication* iTunes = [objc_getClass("SBApplication") applicationWithBundleIdentifier:@"com.apple.iTunes"];