2016-06-13 2 views
0

カレンダーがアクティブになり、適切なイベントが強調表示されるように、Calendar.appに要素を表示しようとしています。私はそれを行う方法を知っているが、サンドボックスがオンになると、私はちょうどサンドボックスでAppleEventを送信できない

Calendar got an error: A privilege violation occurred.

私のコードは、単純に(でもイベントを表示しようとしているが、ただ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> 

スクリプトブリッジで試してみましたが、これも失敗しました(情報は少なくても、おそらく同じ理由で失敗します)。

答えて

1

Calendar.appでの受給資格の障害com.apple.security.scripting-targetsは、スクリプト内でtell application "Calendar"を使用していても、バグのようです。

しかしグローバル一時的な例外は動作します:

<key>com.apple.security.temporary-exception.apple-events</key> 
<array> 
    <string>com.apple.ical</string> 
</array> 
+0

うわー。私は速いテストをしましたが、私の縮小した例だけで、それはトリックに見えます。今すぐフルバージョンで試してみましょう。 –

+0

非常にクールです。特にアップルのいわゆる「サポート」が私をその方向に向けることはできなかったが、私のサポート要求は3年以上飢えていた。どうもありがとうございました!! –

関連する問題