샌드 박스가있는 Mac App Store 앱에 AppleScript 지원을 추가하고 있습니다.AppleScript에서 보낸 파일에 샌드 박스 응용 프로그램 액세스 권한을 부여 할 수 있습니까?
add file at path "/path/to/some/file/on.disk"
나는 유형 file
과 같이 명령의 매개 변수를 지정, 그래서를 통해 제공 : 그래서처럼, 내가 쓴 명령을 사용하여, 사용자가 스크립트를 통해 응용 프로그램에 파일을 추가 할 수 있도록하고 싶습니다 내 응용 프로그램은 NSURL
으로 표시되며 디버거에서 파일 URL의 경로 (po url.path
)를 볼 수 있습니다.
Could not open() the item
I :
<!-- Contained by a suite -->
<command name="add file at path" code="ABCDABCD">
<direct-parameter description="A file to add to the app" type="file" />
</command>
나는이 파일에 대한 보안 범위의 북마크를 만들려고 할 때, 나는 오류가 발생 :
이
은sdef
파일에있는 명령의 정의입니다 앱의 후속 실행에서 파일을 읽을 수 있어야합니다. 따라서 북마크를 만듭니다. 이 책갈피 - 생성 코드 :
NSData *fileBookmark = [url bookmarkDataWithOptions:NSURLBookmarkCreationWithSecurityScope
includingResourceValuesForKeys:nil
relativeToURL:nil
error:&error];
나는 변화를하지 않았다, [url start(stop)AccessingSecurityScopedResource]
와 코드를 둘러싼했습니다.
업데이트
또한 앱이 파일의 내용을 읽고, 또는 응용 프로그램의 컨테이너에 복사 할 수없는 것으로 확인되었습니다. 스크립트가 적용된 앱의 경로는 제외하고 이 아니며 파일에 대한 액세스는입니다.
업데이트이 합니다 (URL에서 파일이 나는 또한 ~/Application Scripts/bundleid
(NSApplicationScriptsDirectory
) 디렉토리에 스크립트를 배치하고, 내 코코아 코드 내부 NSUserScriptTask
에서 실행하고, 그 같은 결과를 얻었다 시도
입니다
2 여전히 읽을 수 없다).