didReceiveApplicationContext not responding in iOS 13.

We are sending accelerometer sensor data (x,y,z) from watch to iPhone. To achieve it we are using timer, which is sending data to iphone after every 0.2 seconds.
Sometimes it stops working and giving us following error ,
[WC] -[WCFileStorage loadAppContextDataFromInbox] error loading in application context from inbox NSFileReadNoPermissionError -> EACCES


We tried same code using WCSession.default.sendMessage(......) method and everything is working fine. We are facing this issue only when we use WCSession.default.updateApplicationContext(.....) .

If you want i can share my testproject.


This is happening on ios 13, all the previous versions it is working fine.


Replies

I had the same problem on code that was running fine. Suddenly, I was getting this error. I tried rebooting the phone, watch and xcode. Nothing worked. The solution for me was to delete the app from the iPhone you are developing on and reinstall it new. Hope this helps.

Hi Ritesh,


Did you find a resolution to this other than reinstalling the watch App? I am getting the same error messages:


[WC] -[WCFileStorage loadAppContextDataFromInbox] error loading in application context from inbox NSFileReadNoPermissionError -> EACCES


I can confirm that the only way to get the communication up and running again is to delete the Watch app and reinstall it.


It seems to start happening after transferring volumes of data (a few megabytes in multiple dictionaries) between the watch and ios app. Perhaps there is some sort of undocumented limit on data transfers in place? I also find that when transferring a lot of data via context updates eventually they stop working without the above error message and the only solution seems to be to power down both the watch and the phone. In both instances it appears to only affect context updates, not messages.


I'm now moving the bulk of data transfers to the background file transfer mode to see if that avoids the problem. I this mode you can send a metadata dictionary, which will suffice as a means of transferring the context dictionaries I'm sending now.

I am also having the same problem with:


[WC] -[WCFileStorage loadAppContextDataFromInbox] error loading in application context from inbox NSFileReadNoPermissionError -> EACCES


It is frustrating that I have been developing an app that transfers watch sensor data to the phone for several months now and was in the process of finishing up some minor issues. Once I upgraded to iOS13, the issues started.


Watch Sensor data is sent through applicationContext.

What is the best way to send sensor data payloads from the watch? It seems like you solved it by sending as messages?