MobileGestalt no access to InverseDeviceID
This happens with every app when I try to use OpenGLES
on my iPhone7+
with iOS10.3
. But it works without any problems on my iPhone7
iOS10.1
.
This is the message I get:
libMobileGestalt MobileGestaltSupport.m:153: pid 304 (OpenGLES_Ch4_1) does not have sandbox access for ... and IS NOT appropriately entitled
libMobileGestalt MobileGestalt.c:549: no access to InverseDeviceID
Does anyone have an idea about these messages?
I wonder if it is bugs or something else in iOS10.3
? Because when I run the app on iPhone5s
iOS10.2
, those messages did not shown on the screen. While I upgraded the phone to iOS10.3.1
, the massages shown again.
The reason why I ask this question is that some animation effects perform quite stuck on my iPhone7+, but it is completely smooth on iPhone5s. But now it seems it is no relationship between the message above and the stuck, and I have to check my iPhone7+...
Solution 1:
I had the same issue. It turns out to be multiple thread accessing the same OpenGLES related resource, EAGLContext
to be specific. I guess it is possible that OpenGLES related codes are not thread-safe, and it behaves differently in different OS versions / iPhone 7 / 7+, sometimes it messes up the memory.
After making sure data accesses are synchronised across threads, the problem is gone.
Solution 2:
For those of you who are maybe using Ionic and getting this error, please just make sure that in case you've cloned a new fresh copy of the project from your repository that you did both npm install
and bower install
.
I was missing bower install
and this was torturing me for like two days, so hope this helps someone. Sad thing is that I'm by all means not a beginner with Ionic (top #3 answerer on SO) but was still able to miss this fact so I hope that in case someone else runs into this problem it will help you.