Logic Pro 10.6.1 entitlements

Our AU plugins, which also use execution of the code from memory, stopped working in Logic 10.6.1 (Big Sur, Apple Silicon). It’s worth mentioning, that Intel version of Logic still works as before.

Apple devs have obviously removed “com.apple.security.cs.allow-unsigned-executable-memory” entitlement from Logic arm64 version … we can’t think of any other reason. The bad news is also, that even signed code (in our case) won’t load and execute from memory, not only unsigned, as entitlement name might imply. All other currently available AU hosts on Apple Silicon (Reaper for example) are working as expected (they all have this particular entitlement enabled).

This sounds like a bug, but from our previous experience with Apple, it could be the way how arm64 Logic Pro now works. In this case, we’ll be forced to create another solution, which will replace execution from memory. But we must be sure, before development starts (btw. it will not be an easy task).

So, does anyone around here have similar or any other experience with Apple Silicon/Logic Pro 10.6.1. Any ideas or hints, which would help us clarify this issue.

Thx!!

www.acustica-audio.com

1 Like

We have a similar problem with our ‘Network’ entitlements not working only on Native ARM macs. They work correctly on ARM is Rosetta mode and on Intel macs as well.

The issue happens only when the AU plugin is hosted inside LogicProX, so it could be a Logic issue?

Anyone else seeing a similar sandbox entitlement issues on Native ARM macs inside Logic?

Thanks,
Antoan

Just bumped into this. Any info on how to get networking in Logic and Apple Silicon?

Logic Pro on Intel does simply not have a sandbox, that’s why it does work. On Apple Silicon the sandbox is enforced by running plugins out-of-process within the AUHostingServiceXPC_arrow (Audio Unit bridge), which is part of macOS, not Logic Pro.

This means all entitlements are coming from the viewbridge:

<?xml version="1.0" encoding="utf-8"?> com.apple.private.viewbridge.window.level com.apple.security.cs.allow-unsigned-executable-memory com.apple.security.cs.disable-library-validation com.apple.security.temporary-exception.audio-unit-host

If this does not work for you, then you need to write an AUv3, which has their own sandbox, not an AUv2.