ScriptingBridge 시작

2480 단어
본문은 초고일 뿐이다
1. OSX 개발 중인 애플릿 지원
OS X 개발에서 우리는 애플 스크립트를 사용할 수 있는데 주로 NSAppleScript에서 지원한다. 예를 들어 프로그램을 종료하는 경우 우리는 다음과 같은 코드를 실현할 수 있다.
NSString* script = [NSString stringWithFormat: @"tell application \"%@\" to quit", appName];
NSAppleScript* as = [[[NSAppleScript alloc] initWithSource: script] autorelease];
[as executeAndReturnError: nil];

2. Scripting Bridge
Scripting Bridge 기술의 목적은javasc,Ruby,Python,Objective-C 등 언어에서 스크립트가 지원하는 응용 프로그램에 apple 이벤트를 보내는 것이다.
예를 들어, 우리는 iTunes가 현재 재생하고 있는 음악 이름을 얻으려고 한다
애플 스크립트 편집기에서 다음 코드를 직접 쓰고 실행하면 됩니다.
tell application "iTunes"to get the name of the current track
이 예제에서는 Scripting Bridge frameworks를 사용하여 응용 프로그램을 조회하고 제어할 수 있습니다.
#!/usr/bin/ruby

require "osx/cocoa"
include OSX
OSX.require_framework 'ScriptingBridge'

iTunes = OSX::SBApplication.applicationWithBundleIdentifier_("com.apple.iTunes")

puts iTunes.currentTrack.name

파이썬은 루비와 유사합니다.
#!/usr/bin/python

from Foundation import *
from ScriptingBridge import *

iTunes = SBApplication.applicationWithBundleIdentifier_("com.apple.iTunes")

print iTunes.currentTrack().name()

Objective-C에는 Apple Events를 보내는 메커니즘이 있지만 새 Scripting Bridge 설계에서는 코드를 단순화할 수 있습니다.
#import <Foundation/Foundation.h>
#import <ScriptingBridge/ScriptingBridge.h>
#import "iTunes.h"

int main()
{
iTunesApplication *iTunes = [SBApplication applicationWithBundleIdentifier:@"com.apple.iTunes"];

NSLog(iTunes.currentTrack.name);
}

3. 응용 헤더 파일을 어떻게 생성하는가
위의 예에서 'iTunes.h' 헤더 파일을 가져왔습니다. 이제 파일을 생성합니다.
mac:~ mamong$ sudo ln -s /Applications/Xcode5.app/Contents/Developer/usr/bin/sdef /usr/bin/sdef

mac:~ mamong$ sudo ln -s /Applications/Xcode5.app/Contents/Developer/usr/bin/sdp /usr/bin/sdp

mac:~ mamong$ sdef /Applications/iTunes.app | sdp -fh --basename iTunes

넷째, 아이튠즈에 무엇이 있습니까
간단하게 살펴보면 iTunes의 스크립트 프로그래밍 API 조직은 다음과 같다. iTunes Application에서 여러 개의 원본(iTunes Source)을 찾을 수 있다. 원본은 여러 가지가 있는데 예를 들어 뮤직 library, 예를 들어 CD, 예를 들어 iPod 등이다. 각 원본은 재생 목록(iTunes Playlist)에 따라 구성된다. 재생 목록마다 여러 곡(iTunes Track)이 뚜렷하다. 위의 이 예에서우리가 찾는 첫 번째 소스(sources()[0])의 첫 번째 재생 목록(playlists()[0])이 바로 당신의 아이튠즈 뮤직 리브라리입니다.인용하다http://blog.jjgod.org/2007/11/10/python-itunes-scripting/

좋은 웹페이지 즐겨찾기