SF Classic crashing after iOS9 upgrade
|Knowledge Article Number||000230575|
SF Classic iOS 9 Crashing Issue
NOTE: This KB does not cover any SF Classic freezing issues upon sleep / background which have also been reported on iOS 9, primarly on iPads. This should be considered a separate open issue.
Some customers have reported issues w/ SF Classic crashing on iOS 9 after attempting to save new records.
The root cause has been identified as a sorting behavior change from Apple in iOS 9. The issue is not believed to be widespread due to the specific configuration required to expose the problem.
A possible workaround has been identified and will be recommended to any affected customers.
Background & Root Cause
SF Classic on iOS 9 is crashing when trying to build a listview containing records with a null value in one of the view's text or picklist sorting columns. The appearance of this issue in iOS 9 is a result of Apple fixing prior “incorrect” behavior around sorting nulls that did not previously affect us.
A crash will also occur if the user switches to a listview that attempts to sort on a field w/ null values.
The issue has so far only been reported by customers trying to save a new record whose primary (i.e. Name) field use for list sorting is an auto-number. Auto-number fields are assigned server side and are not available on the device until after the new record completes a round-trip leaving temporarily null and making them susceptible to the problem.
Crashes have been occurring when the app immediately attempts to insert the new record into its object’s currently selected listview which is sorting on the not-yet-populated auto-number field.
New records triggering the crash are not lost and are eventually synced to the server. The situation eventually self-corrects after the problem record(s) complete a round-trip and are assigned their auto-number values.
Note: It's possible that this problem could also potentially occur w/ non auto number text & picklist fields
Salesforce Classic allows admins to create custom list views for all objects (https://help.salesforce.com/HTViewHelpDoc?id=creating_mobile_views.htm&language=en_US). The aim of the workaround is for admins (or SF Classic end users) to create list views that do not attempt to sort on fields which could be null. This can be accomplished by creating list views that follow the guidelines below and instructing users to use them exclusively.