カレンダーがアクティブになり、適切なイベントが強調表示されるように、Calendar.app に要素を表示しようとしました。その方法は知っていますが、サンドボックスがオンになると、
カレンダーでエラーが発生しました: 権限違反が発生しました。
私のコードは単純にこれです(イベントを表示しようとするのではなく、1つのカレンダーを読み取るだけです):
import Cocoa
@NSApplicationMain
class AppDelegate: NSObject, NSApplicationDelegate {
func applicationDidFinishLaunching(aNotification: NSNotification) {
let source = "tell application \"iCal\"\n set theCalendar to first calendar whose name = \"test\"\nend tell"
let scriptObject = NSAppleScript(source: source)
var errorDict: NSDictionary? = nil
_ = scriptObject!.executeAndReturnError(&errorDict)
print (errorDict)
}
}
そして、私の資格は次のようになります。
<dict>
<key>com.apple.security.app-sandbox</key>
<true/>
<key>com.apple.security.scripting-targets</key>
<dict>
<key>com.apple.ical</key>
<array>
<string>com.apple.ical.read</string>
</array>
</dict>
</dict>
スクリプト ブリッジも試しましたが、これも失敗します (情報は少ないですが、おそらく同じ理由で)。