2010-07-02 2 views
1

문자열 "theData"를 보내는 함수가 있습니다. 이 코드를 여기에 삽입하고 싶습니다. 누군가 나에게이 구문을 알려주시겠습니까? \ "s와 \"s는 약간 털이 있습니다. 감사!일부 데이터를 AppleScript 문자열에 삽입하는 방법

NSTask *task; 
task = [[NSTask alloc] init]; 
[task setLaunchPath:@"/usr/bin/osascript"]; 
[task setArguments:[NSArray arrayWithObjects:@"-e", @"tell application \"System Events\"\n", 
              @"-e", @" keystroke \"" + theData + "\"", 
              @"-e", @"end tell", nil]]; 
[task launch]; 
+0

Objective-C로 키 스트로크를 시뮬레이트하는 데 더 좋은 방법이있을 것입니다. – icktoofay

+3

사실, 그럴 것 같습니다. (http://stackoverflow.com/questions/2379867/) – icktoofay

+0

woah. 고마워 친구. –

답변

1

icktoofay은 이미 더 정확한 답을 준,하지만 단지 나 문자열에 문자열을 삽입하는 방법을 보여 드리겠습니다 :

 NSString* toBeInserted = @"for"; 
     NSString* result = [NSString stringWithFormat:@"in%@mation",toBeInserted]; 
     NSLog(@"%@",result); 

information을 제공합니다. 자세한 내용은 Apple's doc을 참조하십시오.

내 말은, Apple의 의사는 사실 아주 좋습니다. 여기에 질문을하기 전에 읽어보십시오.

그런데 AppleScript를 실행하려면 osascript을 실행할 필요가 없습니다. 당신은

NSAppleScript* script=[[NSAppleScript alloc] initWithSource:@"tell app \"Finder\" to activate "]; 
NSDictionary*error; 
[script executeAndReturnError:&error]; 
[script release]; 

음과 같이 NSAppleScript를 사용할 수 NSAppleScript 당신이 목표에 애플 스크립트 객체를 매핑 할 Scripting Bridge를 사용할 수 있습니다 ...

오류를보고 할 NSDictionary 아닌 NSError을 필요로하는 이상한 또는 -C 개체.

0

난 당신이 그 일을 다른 방법을 볼 수 있지만, 당신은 데이터가 "안녕하세요"를 포함하는있는 NSString입니다 가정이

[NSString stringWIthFormat: @"part one %@ part 2", theData]; 

을 수행하는 형식 문자열을 사용할 수 있습니다, 이것은 당신에게 줄 것이다 :

@"part one hello part 2" 
관련 문제