2017-12-20 13 views
0

xcode에서 만든 내 애플 스크립트 응용 프로그램에 이상한 점이 있습니다.xcode : 응용 프로그램이 디버그 폴더에서 제대로 실행되지만 다른 폴더에 복사되지 않는 경우

실행을 위해 제작할 때 제대로 실행됩니다. 디버그 폴더에서 다른 장소로 앱을 복사 할 때 제대로 실행되지 않습니다.

응용 프로그램이 Photoshop을 시작한 다음 시스템 이벤트 UI 스크립팅을 사용하여 파일 열기 대화 상자를 엽니 다. Debug 폴더에서 실행하지 않을 때 Photoshop을 시작하고 System 이벤트를 활성화하고 Photoshop 프로세스를 찾은 것 같지만 UI 스크립팅으로 시작하지 않습니다.

멍청한 놈이되어 나를 당황하게하고 나는 붙어있다.

자세한 정보가 필요하면 나와 함께 견디고 필요한 것이 무엇인지 알려주십시오.

추가 정보 : 특별히 똑같은 코드를 사용하는 또 다른 매우 유사한 응용 프로그램은 문제없이 작동합니다.

또한 주석에서 묻는 것처럼 응용 프로그램은 내게 필요한 옵션 설정에서 시스템에 제어 권한이 부여됩니다.

편집 : 코멘트

set myps to "com.adobe.Photoshop" 
set applName to (get name of application id myps) 

delay 1 

tell application id myps 
    -- activate 
    using terms from application "Adobe Photoshop CC 2018" 
     activate 
     tell application "System Events" 
      set ProcessList to name of every process 
      if (applName is in ProcessList) then 
       tell process applName 
        delay 0.8 
        display alert "here I am" 
        click menu item 2 of menu 1 of menu bar item 3 of menu bar 1 
        delay 0.8 
        tell window 1 
        -- and so on 

"click menu item 2 of menu 1 of menu bar item 3 of menu bar 1"의 요청에 따라 코드는 파일 열기 대화 상자가 열립니다.

Debug (또는 Build) 폴더를 작성하거나 양식을 만든 후 자동으로 실행하면 해당 대화 상자가 열립니다. 다른 곳에서 달릴 때, 내가 얻는 마지막 것은 "나는 여기에있다"라는 경고이다.

plist 파일을 사용하여 런타임에 일부 매개 변수를 전달하는 또 다른 코드 블록이 있지만이 매개 변수는 스크립트의 뒷부분에서만 필요합니다.

미리 감사드립니다.

+0

'시스템 환경 설정> 보안> 개인 정보> 접근성'에서 스크립트를 허용 했습니까? –

+0

예, 해당 목록에 앱이 추가되었습니다. –

+0

스크립트에 대한 코드를 표시하십시오. 문제의 가능성을 가장 잘 알 수있는 유일한 방법은 ... –

답변

0

이것은 디버그 대신에 빌드해야하기 때문에 가능합니다. 이렇게하려면 Product ->Scheme ->Edit Scheme으로 이동하십시오. 그런 다음 탭을 클릭하고 Build Configuration으로 변경하십시오.

이 완전히 포함 된이어야하는 실행 파일을 만듭니다.

+0

아쉽게도 이러한 설정을 변경해도 변경되지 않았습니다. –

+0

왜 UI 스크립팅이 필요합니까? 자신 만의 대화 상자를 만들고 파일을 요청하십시오. 그런 다음 그 가볍게 침을 포토샵에 전달하십시오. UI 스크립팅 필요 없음 –

+0

@Pat_Morita UI 스크립팅이 필요합니다. 열려있는 파일 대화 상자는 내 응용 프로그램 용이 아니지만 Photoshop의 특정 조건에서 파일을 여는 데 사용해야합니다 (사실 CameraRAW 플러그인이 될 것입니다).이 플러그인은 어떤 방식 으로든 스크립트 할 수 없기 때문에 UI 스크립팅으로 끝납니다. (물론, CameraRAW 플러그인에서 파일을 강제로 열 수있는 방법이 있다면, 그것에 대해 듣는 것보다 더 감사 할 것입니다) –