Mojaveに更新した後、以下のアラートで以前使用していたオートマトンサービスを使用できなくなりました。
私のコードに何か問題がありますか、これは最新のmacOSの問題ですか?
スクリプト
on run {input, parameters}
set pathList to {}
repeat with itemNum from 1 to count of input
tell application "System Events"
copy POSIX path of (container of (item itemNum of input)) to end of pathList
end tell
end repeat
return pathList
end run
これは間違いなくMojaveの新しいセキュリティフレームワークの一部です。 terminal
で試す
osascript -e 'tell application "Finder"' -e 'set _b to bounds of window of desktop' -e 'end tell'
そして、あなたはmayを受け取ります:
36:42: execution error: Not authorized to send Apple events to Finder. (-1743)
最初の実行で起こることは、Finderがterminal
がFinderにイベントを送信する許可を要求していることを通知するダイアログボックスを開くことです。許可すると、terminal
がSystem Preferences > Security & Privacy > Automation
のオートメーションページに追加されます。
現時点で2つの問題があります。
他の人は、これに関するより広範な情報を書いています:
これは、macOSの自動化機能に深刻な影響を与えるため、Mojaveが出荷される前に解決されることを願っています。
AppleScript .app
アプリケーションの実行中に同様のエラーが発生しました。次のエラーが表示されました。
Not authorized to send Apple events to Finder. (-1743)
回避策は、.scpt
または.applescript
ソースコードからアプリケーションを再エクスポートすることです。これにより、新しい.app
アプリケーションが生成され、私の場合は正常に実行されました。最初の起動には承認(およびその後のいくつかの起動)が必要であり、アプリケーションはSettings -> Security & Privacy -> Privacy -> Automation
の下にエントリとして追加されました。
これは私が問題を解決するためにしたことです。 [システム環境設定]> [セキュリティとプライバシー]> [アクセシビリティ(左側のオプション)]>(システムパスワードを入力)> [Automator](または有効にするアプリ)をクリックすると、TADAが機能します。
以下の手順を使用して同じ問題を解決しました。 Plistを開き、以下のキーを追加します
<key>NSAppleEventsUsageDescription</key>
<string>Please give access to Export details to Outlook</string>
アプリケーションがスクリプトを初めて実行するときに許可または拒否する確認ポップアップが表示されます。 [許可]をクリックすると、スクリプトが実行されます。
UPDATE:最新のパブリックベータ版(2018年8月4日)に更新すると、問題が修正されました。これ以前は、Mojaveのすべてのパブリックベータ版で問題が続いていました。
元の返信:
Applescriptを使用する異なるAutomatorワークフロー(あなたのものとは異なる)で、私と他の友人の両方がこのまったく同じ問題を経験していることを知らせたいだけです。手動アクティベーション(Finder->サービス->クリックアイテム)とキーボードショートカットアクティベーションの両方で問題が発生しています。
さらに奇妙なことに、Automator内でテストする場合、ワークフローは美しく機能します。
フィードバックアシスタントを通じてバグレポートを提出しましたが、これを見た他の人にはあなたもそうすることをお勧めします!きしむホイールとすべて...
Automator-権限エラー。「アクション「AppleScriptの実行」でエラーが発生しました:「Appleイベントをシステムイベントに送信する権限がありません。」
このようにターミナルからリセットすると修正されました:
tccutilはAppleEventをリセットします。 tccutil reset SystemPolicyAllFiles
キーストロークでリマインダーアプリに現在の日付を挿入しようとしていました。推奨される「設定->セキュリティとプライバシー->プライバシー->アクセシビリティ-> Automator」を使用する代わりに、キーストロークコマンドが許可されるように、Automatorの代わりにリマインダーを追加する必要がありました。特定のアプリでのみアクションを許可するのは面倒ですが、それは事実のようです。
Mojaveがリリースされてから数か月経ってもキーストロークを送信する際に問題が発生していました。奇妙なことに、修正方法はシステム環境設定-> セキュリティとプライバシー-> プライバシータブ->パスワードでロックを解除する-> Remove(マイナスボタン付き)アクセシビリティ行のアプリのリストからのAutomator。私のスクリプトがキーストロークを再度送信する前に削除する必要があるベータ版の実行から何かがあったのかもしれません。
Edit:システム環境設定を終了した後、再びアラートエラーが表示されました。 Automator.appをAccessibility行に再度追加すると、今のところこれが修正されたようです。