下面的AppleScript代碼工作正常,請在Adium的新的聊天?使用可可ScriptingBridge
0
A
回答
0
一般來說,你應該能夠做到這一點下面的蘋果Scripting Bridge Programming Guide for Cocoa。首先,我通過在終端中運行sdef /Applications/Adium.app | sdp -fh --basename Adium
(在當前目錄中創建Adium.h)創建了Adium的頭文件。生成的頭文件提供了關於通過Scripting Bridge進行AppleScript調用的線索。
我碰到的問題是,我看不到一種方式,基於生成的頭文件做make new chat with contacts {...} with new chat window
(我可以做一個新的聊天,甚至可以掛鉤到一個新的窗口,但我找不到一種使該聊天接觸的方式)。
下一個最好的事情可能是使用NSAppleScript執行您的有效的AppleScript代碼:
NSAppleScript *appleScript = [[NSAppleScript alloc] initWithSource:@"tell application \"Adium\" to tell first account to make new chat with contacts {first contact} with new chat window"];
NSDictionary *errorDictionary;
NSAppleEventDescriptor *eventDescriptor = [appleScript executeAndReturnError:&errorDictionary];
0
缺少使用原始Apple事件代碼,您不能。但應該與objc-appscript一起工作。通過appscript的ASTranslate工具運行你的AppleScript命令會生成以下:
#import "ADGlue/ADGlue.h"
ADApplication *adium = [ADApplication applicationWithName: @"Adium"];
ADReference *ref = [[adium accounts] at: 1];
ADMakeCommand *cmd = [[[[ref make] newChatWindow: ASTrue] withContacts: [NSArray arrayWithObject: [[[[adium accounts] at: 1] contacts] at: 1]]] new_: [ADConstant chat]];
id result = [cmd send];
+0
的objc-appscript工作正常,到目前爲止,但它並不能幫助我創建一個新的聊天。我只是得到一個空的結果而沒有任何反應。 – 2010-03-16 19:23:11
相關問題
- 1. 沒有sdef的ScriptingBridge? (可可)
- 2. 如何使用ScriptingBridge
- 3. 使用ScriptingBridge和Objective-C
- 4. 使用ScriptingBridge打開文件
- 5. 使用ScriptingBridge框架與Entourage
- 6. AppleScripting沙盒應用程序使用ScriptingBridge
- 7. ScriptingBridge - >不能分配給屬性:'self'是不可改變的
- 8. ScriptingBridge Finder POSIX路徑
- 9. 使用可可的龍表操作在表中使用可可
- 10. Cocoa ScriptingBridge輸入輪詢
- 11. 使用ScriptingBridge和Python,我可以從當前播放的曲目中獲得哪些屬性?
- 12. 使用可可繪製NSImage
- 13. 可可 - 如何使用tableViewSelectionDidChange:?
- 14. 如何使用BetterAuthorizationSample? - 可可
- 15. 在可可中使用PDFs
- 16. 可可內存使用
- 17. 在可可中使用NSFontPanel
- 18. Mysql在可可中使用
- 19. 在可可中使用 - >
- 20. 在可可中使用NSThreads?
- 21. 使可可應用程序不可信
- 22. 如何使用Swift協議設置iTunes ScriptingBridge的屬性
- 23. 如何讓Chrome在Objective-C中使用ScriptingBridge打開URL?
- 24. 如何使用Perl中的OS-X ScriptingBridge框架關閉窗口?
- 25. 如何使用ScriptingBridge通知Safari在新窗口中打開URL?
- 26. 使用ScriptingBridge監控Keynote 6演示文稿
- 27. 在Python中使用PyObjC和ScriptingBridge發送消息
- 28. 使用ScriptingBridge時隱藏Python火箭停靠圖標
- 29. 使用可變
- 30. 使用可變
「我無法找到一種方法讓聊天進行聯繫」 - 你不能。發送'make'('core' /'crel')事件在SB中部分被禁止。你可以提供一個'帶有數據'參數或'帶有屬性'參數(但不能同時),就是這樣。 SB爲'new'和'at'參數做了它自己的事情,並且不允許你通過任何其他參數。大多數應用程序都依賴'with property'來提供值,但沒有法律要求這樣做,而Adium則不適用。正如我所說,要做到這一點,你必須使用原始的AE代碼。或者使用正確說出Apple事件的AppleScript/appscript。 – has 2010-03-14 10:45:35