Как дать права на приложение Applescript - PullRequest
0 голосов
/ 28 февраля 2019

У меня есть приложение, созданное в студии Omnis, где я хочу, чтобы пользователь мог нажать кнопку, чтобы открыть Microsoft Excel, а затем вставить то, что находится в буфере обмена.Для этого у меня есть приложение, которое вызывает мое приложение AppleScript. Здесь:

tell application "Microsoft Excel"
  activate
  make new workbook
  paste special on worksheet active sheet
end tell

Однако, когда мое приложение вызывает этот скрипт, оно сталкивается с проблемами в песочнице Apple, говоря, что не может отправлять события в Microsoft Excel.

Я прочитал в Интернете, что для того, чтобы получить доступ к отправке событий в Mac OS, вам необходимо иметь файл authorlements.plist, связанный с вашим приложением.Как добавить файл authorlements.plist в мое приложение Applescript, чтобы при его запуске можно было отправлять события в Microsoft Excel?

1 Ответ

0 голосов
/ 28 февраля 2019

Если вы не продаете приложение и используете его только для себя, лучше всего отключить «песочницу».Ваше приложение по-прежнему будет работать, щелкнув его правой кнопкой мыши> open.

Если у вас уже включена песочница, в вашей структуре приложения уже должен быть файл YOURAPPNAME.entitlements (не в скомпилированном приложении, а в вашем исходном коде), посколькув этом файле должна быть включена песочница.

Я не знаю, Omnis studio, вы можете попробовать вместо этого использовать XCode, который поддерживает файлы разрешений с нуля - даже если вам нужно идти с applecript target-c вместопростой яблочный скрипт.

если вам удастся найти этот файл, вам нужно добавить новый ключ / значение, например, для адресации в Excel:

key: "com.apple.security.temporary-exception.apple-events"
value (type array): 
    Item 0 > "com.microsoft.excel"

Но будьте внимательны - если вы хотитеОставайтесь в песочнице, начиная с OSX 10.14, есть новая политика безопасности под названием «Защита целостности безопасности» (SIP) от Apple, где пользователям также необходимо разрешить вашему приложению автоматизировать другие приложения, ознакомьтесь с этой темой: ", поскольку это не SIP-Защищено "- ошибка Apple в OSX Mojave

Чтобы обойти это начало с 10.14, вы также чЯ хочу добавить новую строку в ваш файл info.plist

key: NSAppleEventsUsageDescription
value: [Some description why you need to use AppleEvents]

Я не знаю, будут ли сторонние редакторы следовать той скорости, которую Apple обеспечивает в изменениях.

...