After upgrading to iOS 12.4, K2 Mobile and/or K2 Workspace app crashes when accessing some Forms.
This has been resolved in the 21 February 2020 release of K2 Workspace for iOS 2.3.
Both the K2 Mobile and K2 Workspace apps sometimes crash while trying to open a form, on devices running iOS 12.4.
After the first attempt, the app may crash when trying to navigate to the forms or simply trying to open the app. This tends to happen when the form needs to retrieve large data sets but this is not the only reason. This can happen whether connecting to a K2 Five server, K2 Cloud, or to K2 blackpearl (4.7).
This has been addressed with the release of K2 Workspace for iOS 2.3.
While our testing only reproduced the crash on Mini 4 and Air 2 iPads, and not on iPad Pro. It was also been reported on iPhone X.
The underlying cause seems to be a change in iOS 12.4, regarding their embedded web content class, which we use in K2's mobile applications. K2 is rewriting our K2 Workspace app to use a new class for embedding web content, which should be able to handle larger data sets.
For more information about designing forms for offline mobile use, please see https://help.k2.com/onlinehelp/k2five/userguide/current/default.htm#Create/Forms/OfflineAvailability.htm.
From our testing it seems that the more powerful the iOS device the more data it was able to handle. The crash was only reproduced on Mini 4 and Air 2 iPads, and not on iPad Pro. It was not reproducible on iPhone X.
This issue is still being investigated (Investigation Reference #884383). If you have not upgraded your iOS devices to 12.4 yet, you may wish to hold off while we complete our investigation. If you have already upgraded your iOS devices and are experiencing app crashes, you may need to refactor some of your forms.
The current workaround is to reduce the number of records retrieved by the forms, or reduce the size of images or attachments. It may also be possible to reduce the issue by implementing paging, which should reduce the amount of data being pulled at one time.
The exact amount of data that can be successfully returned will vary, based on the number of records, properties, data types and associations of the SmartObject. It also depends on the device and memory available at the time of execution. For now, we recommend limiting the number of records to 1000-2000 to be safe.