The FileMaker Go 14 Development Guide states:
When you switch to another app, FileMaker Go enters a suspended state unless there is an audio or video file playing. When you return to FileMaker Go, the app and scripts resume from where they left off.
I tried to use the fact that FileMaker Go does NOT enter a suspended state when an audio file is playing to cause a long-running script to continue running even if a user switches to another app or allows his or her device to sleep. It does actually work for up to about 2.5 minutes. If the script runs longer than that, weird things happen and FileMaker Go seems to become unable to commit records in any database until it is relaunched.
Steps to reproduce:
- Create a database with a log table with a few fields.
- Add a global container field with an .mp3 file that is several minutes long.
- Write a script that starts playing the audio file using the AVPlayer Play script step and then creates new records within a loop, pausing a few seconds between iterations.
- Run the script and then put the device to sleep. The audio will continue playing and FileMaker Go will continue running the looping script and creating records.
- After about three minutes, unlock the device and open FileMaker Go. You'll see a dialog that says, "'File.fmp12' is damaged and cannot be opened. Use the desktop product's Recover command to recover this file."
- Tap "OK" and then you'll see a dialog that says, "Communication with the host was interrupted. Do you want to try to reconnect?" with No and Yes options. (Note the same dialogs are displayed if the file is local on the device or opened remotely.)
- Tap "No" and then re-open the file from the Launch Center.
- Try to manually create a few new records. The records will appear to be created, but they will not be committed. Multiple uncommitted records may be visible. All of the records may disappear. Some fields may display "?".
- Try opening another database and edit some records. You probably won't be able to commit any records in any file until you force FileMaker Go to close and then relaunch it.
Here's a link to a sample file that demonstrates the issue: http://www.skeletonkey.com/SkeletonKey_Files/Downloads/SuspendTest.fmp12
I've reproduced this on both iPad and iPhone with both local and hosted files. I can create a video that demonstrates the issue, if needed.