【发布时间】:2014-03-22 09:46:01
【问题描述】:
我们正在使用 MacOSX 10.9 上的 Qt 5.2.0.Framework 为 Mac App Store 开发应用程序。
这是一个简单的 AppleScript,它可以创建 Microsoft Excel 工作簿并保存到任何位置。
tell application "Microsoft Excel"
set myworkbook to make new workbook
set fname to POSIX file "/Private/var/root/Download/ExcelFile" as text
save workbook as myworkbook filename fname
end tell
以上脚本在/Library/ApplicationScript/中保存为Untitled.scpt。
在应用程序内部,我们使用 Cocoa 框架来执行 AppleScript。
此 AppleScript 在非沙盒应用程序中工作。它在沙盒应用程序中失败。
我的问题是:如何在沙盒应用程序中使用 AppleScript?或者有什么替代方法吗?
请告诉我解决方案,因为我的项目因此而延迟。
谢谢
【问题讨论】:
-
我已重新格式化您的问题,使其更具可读性;请查看源代码,以便您以后可以自己执行此格式化;你先说脚本文件名是
new.scpt,但是你的Objective-C代码引用了Untitled.scpt。我对沙盒知之甚少,但我不希望像/private和/Library这样的路径可以从沙盒应用程序中写入。.scpt文件如何保存到目标位置? -
这个,苹果脚本在这个路径“/Library/ApplicationScript/Untitled.scpt”中保存为Untitled.scpt(不是new.scpt)。使用 cocoa 执行脚本时,会创建 excel 文件,保存为 /Private/var/root/Download/ExcelFile 这个位置
-
在我的问题中将关键字“new.scpt”替换为“Untitled.scpt”
-
这是一篇值得阅读的好帖子objc.io/issues/14-mac/sandbox-scripting
标签: cocoa applescript mac-app-store appstore-sandbox entitlements