2009-08-06 6 views
1

私はScriptingBridge.frameworkをターゲットに含めました。現在、Link Binary with Librariesの下に表示されています。ScriptingBridge.framework(Mac OS X)を使用しているときにシンボルが見つかりません

私が使用してヘッダーを生成:

sdef "/アプリケーション/住所Book.app" | sdp -fh --basename AddressBook

ヘッダーは正常に生成されました。

未定義のシンボル: ".objc_class_name_AddressBookPerson"、から参照:ただし、コンパイル時に、私は次のエラーを取得するAddressBookPerson @ リテラル・ポインタ@__にObjC @__ cls_refsをServerController.o

答えて

1

にリンクの問題が消えました問題のある行を削除したときに、そのクラス(AddressBookPerson)のためにスクリプト可能オブジェクトを尋ねる。

[AddressBookPerson class]

以下に示すように、私はclassForScriptingClassクラスへの呼び出しを置き換える:

sdefによって生成されたスクリプト定義ファイルで指定されている「人」はクラスの名前です
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]; 
    } 
} 

関連する問題