[英]symbol not found when using ScriptingBridge.framework (Mac OS X)
我已经将ScriptingBridge.framework包含在目标中,并且当前显示在Link Binary with Libraries下。
我使用以下方法生成了标头:
sdef“ /应用程序/地址簿.app” | sdp -fh --basename地址簿
标头生成正常。 但是,在编译时,出现以下错误:
未定义的符号:“。objc_class_name_AddressBookPerson”,引用自:ServerController.o中的文字指针@__ OBJC @__ cls_refs @ AddressBookPerson
当我删除有问题的行时,链接问题消失了:向可编写脚本的对象询问其类(AddressBookPerson)。
[AddressBookPerson class]
我用classForScriptingClass替换了对class的调用,如下所示:
AddressBookApplication *sab = [SBApplication applicationWithBundleIdentifier:@"com.apple.AddressBook"]; NSArray *array = sab.selection; if ( [array count] > 0 ) { AddressBookItem *item = [array objectAtIndex:0]; if ( item && [item isKindOfClass:[sab classForScriptingClass:@"person"]]) { NSString *vCard = [(AddressBookPerson *) item vcard]; } }
其中,“ person”是在sdef生成的脚本定义文件中指定的类的名称。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.