Mac build rejected due for requesting for Accessibility Access for keystrokes

Our Mac build was rejected for the following reason.

Guideline 2.4.5(v) - Performance

We noticed the game is requesting for Accessibility Access for keystrokes from any application, which is not appropriate.

This is new guideline introduced by the apple for compatibility with their new OS 10.15 (Catalina)

We are not sure for where these API’s are being called as we are not calling this explicitly in our code. We are not sure whether the Unity itself adds this to the build.

Does any one has faced similar issue?. Is there any workaround for disable this ?.

Our game is built on Unity version 2018.2.11.

Sadly I don’t think there is a way around this, we did fix this issue in 2018.4 LTS so if you could verify against that version that would be great.

thanks. it worked

doesnt work for 2019.2.1f

Is there any possible workaround for this for pre 2018.4??
Our macOS project is still in 5.6.4, and we’re in the process of converting to 2018+ but nowhere near ready yet- and we have a critical bugfix to submit but are blocked because of this weird permission request.

Should this be alright with 2017.4 LTS?

We are stuck in version 5.6.6f2 and can not update our apps on Apple’s AppStore. This error message also comes with a hardened runtime. Is there a solution?

We use the 2018.4.5f1 version, still this problem, is there another solution? My MacOS version is 10.15 and the Xcode version is 11.1

In the same boat with 2018.2.9f1, will see if the 2018.4 upgrade will resolve it.

We use version Unity Player version 2019.2.3f1 (8e55c27a4621) and this problem is urgent.
Does anyone have a solution?

Answer from AppStore:

Guideline 2.4.5(v) - Performance

Your app requests admin access from the user during operation.

Specifically, your app is asking access to keystrokes.

Resources

To resolve this issue, it would be appropriate to confirm that you are using:

  • NSEvent.addLocalMonitor
    rather than
  • CGEvent.TapCreate.

In addition, it would be appropriate to remove IOHIDCheckAccess(kIOHIDRequestTypeListenEvent) for accessing the user’s keystroke under Privacy, as apps with this feature are not appropriate for the App Store.

Maybe who knows the version where this problem is exactly solved?

I just ran into this with a 5.6.7f1 based game and I don’t see any solutions anywhere.

Is there an entitlement or something we need to set?

you have to upgrade your project to the latest Unity3D version. It is not possible with Unity 5.6.7f1.

Am I understanding this correctly? My app store build was rejected for this issue. I’m still running Unity 2017.4 as everytime I update anything in Unity, things break. There is no way to fix this issue other than updating Unity by multiple versions? I’m really scratching my head as to why I have a paid version of Unity.

2019.2.21f1 will work for you. I would not upgrade to a newer version because of the render engine (In case you use custom shaders).

I thought 2018.4 was OK? I am halfway through upgrading to that!

Just to confirm, 2018.4, the LTS version, cleared up this issue for me.

Hi there,
I am also having the same problem with Unity 5.6.1.
I have signed the libraries too (libmono.0.dylib and libMonoPosixHelper.dylib).
But the build still got rejected, not sure why. Anyone here to help?

Also, does anyone know a working link to sign the mac app? Just in case I miss something.

NOTE: Not in a position to update my project to a newer version since the project is quite large and it would take days to do so.

FYI - in case anyone is using 2019.2.1f1, they fixed this bug in 2019.2.2f1. If you upgrade to that it will fix the issue.

If you’re having trouble with this in other versions, I recommend looking through the release notes for when they fix it: Download Archive

1 Like

If 2019.2.2f1 is fixed then it would be fixed in 2019.3.7f1?

I submitted build with 2018.4.1f1 version and it’s rejected by Apple due to same issue.
Now I’ve upgraded Unity to 2019.3.7f1.
Should I go for submission?