0 Replies
      Latest reply on Dec 1, 2019 7:49 PM by seldomseenkid
      seldomseenkid Level 1 Level 1 (0 points)

        I'm writing a Cocoa app that scripts various functions of the Music app. I'm successfully scripting a number of operations (create playlist, play tracks), but all AirPlay ops (get devices, set device volume) are failing with a permissions error: "-[Music airplayDevices_]: Music got an error: A privilege violation occurred. (error -10004)"

         

        Details:

        • I'm using the AppleScriptObjC framework from Swift
        • targeting Catalina/Music, but have the same failures in Mojave/iTunes
        • code succeeds when not sandboxed - only fails in the sandbox

         

        The entitlements file includes the following:

        
          <key>com.apple.security.scripting-targets</key>
          <dict>
          <key>com.apple.Music</key>
          <array>
          <string>com.apple.Music.device</string>
          <string>com.apple.Music.user-interface</string>
          <string>com.apple.Music.playback</string>
          <string>com.apple.Music.playerInfo</string>
          <string>com.apple.Music.library.read</string>
          <string>com.apple.Music.library.read-write</string>
          <string>com.apple.Music.podcast</string>
          </array>
          </dict>
        

         

        i.e. all access-groups I could find using "sdef /System/Applications/Music.app". According to the sdef, AirPlay access is controlled by com.apple.Music.playback, which is included above.

         

        I assume I need some other entitlement as well, but I can't for the life of me find out what it is.