App updates via TestFlight or App Store sometimes cause VPN profiles to disappear if the VPN is on at the time of update

Originator:adam
Number:rdar://29407550 Date Originated:11/28/2016
Status:Open Resolved:No
Product:iOS SDK Product Version:10.1.1
Classification:Serious bug Reproducible:Sometimes
 
Summary:
Our app uses an NEPacketTunnelProvider to provide a custom VPN client to our users.

If the VPN is on at the time of an App Store or TestFlight update, the update will *always* hang, and I am aware that this is a known issue so I will not file yet another duplicate issue on that.

The issue here is that sometimes, after a failed, and then subsequently succeeded update (by temporarily disabling the VPN), the VPN profile for our NEPacketTunnelProvider will disappear entirely. This doesn't happen every single time, but it happens often enough that our users are reporting it in increasing numbers.

Steps to Reproduce:
1. Create an app that provides an NEPacketTunnelProvider and saves it in VPN settings
2. Make sure the VPN is enabled (we used ConnectOnDemand for this)
3. Trigger an update via App Store or TestFlight
4. App update will hang
5. Temporarily turn off the VPN by disabling "Connect On Demand"
6. App update will succeed

Expected Results:
VPN profile is preserved

Actual Results:
VPN profile *sometimes* disappears (but not every time).

Version:
iOS 10.1.1

Notes:


Configuration:
iPhone 6s

Attachments:

Comments


Please note: Reports posted here will not necessarily be seen by Apple. All problems should be submitted at bugreport.apple.com before they are posted here. Please only post information for Radars that you have filed yourself, and please do not include Apple confidential information in your posts. Thank you!