“POSIX文件” 工作在AppleScript的编辑器,而不是在XCode中

问题描述:

试试这个:“POSIX文件” 工作在AppleScript的编辑器,而不是在XCode中

  1. 建立一个新XCode4的AppleScript项目。在代表中,粘贴此代码:

    on doIt_(sender) 
        set goodHFSLoc to (path to desktop folder) 
        set test1 to (POSIX path of goodHFSLoc) 
        log "test1:"&test1 
        set theJSPath to "/Users/dave/Desktop/MakeTSLabels.js" 
        set jsHFSFile to (POSIX file theJSPath) 
        set test2 to (POSIX path of jsHFSFile) 
    end doIt_ 
    
  2. 将此方法挂钩至UI窗口中的按钮。

  3. 运行程序
  4. 点击按钮,你应该得到这个错误:

    Can’t get POSIX path of class "NSObject". 
    
  5. 把相同的代码(减去“上”和“结束”行)导入的AppleScript编辑器,它运行良好。

显然,ApplescriptObjC中的“POSIX文件”不会将文件对象作为语言规范requires。相反,它使NSObject。

我需要一个提供给Adobe Illustrator的do javascript命令的applescript文件说明符,我需要使用NSBundle的函数来获取打包在我的应用程序包中的javascript文件。

我做错了什么?

您会在Finder系统事件 tell语句中看到相同的行为。该解决方案是ASObjC一样 - 你需要使用它作为一个强制:

set jsHFSFile to (theJSPath as POSIX file)