I am doing the preliminary research for an app that has already been implemented for Android. The app needs to be able to perform some calculations at plug-in and then, at the calculated time intervals, send messages to the USB device. These intervals are likely to span hours.
In Android, the application utilizes the AlarmManager API in order to run the communication code at those intervals. However, as iOS does not have an equivalent API, I am wondering if this is possible. I have researched the External Accessory framework and am finding that it is rather vaguely defined. I have looked through SO and found a few relevant answers, here and here, however they seem to say that the USB device must initiate communication and the EASession cannot have NSTimers running in the limited background state.
Is it possible to set a timer for hours away that will trigger some code to be ran which will in-turn trigger a message to be sent to the External Accessory if the application includes "external-accessory" as a Background Mode? Or does the application only remain in background mode as long as it is receiving messages from the connected accessory?