We have an IOS app deployed in the app store running on Air SDK 4.0. The app has no problems running on IOS8 devices. Our app uses flash.net.socket to communicate with a server.
We are testing a new update that we want to deploy to the app store and discovered a crashing bug with the flash.net.socket class under a certain circumstance.
Basically, if you loose Wifi, the device usually takes a few seconds to 10 seconds to switch to cellular, or discover it has neither wifi or cellular.
It so happens that if you open a flash.net.socket and connect to a server while the device is in this in-between state where it hasn't detected there is no wifi or network, the air app will just crash with no warning. Another thing about this crash is that it only happens with a release (adhoc or appstore) build but NOT with a debug build.
To reproduce is very straightforward:
1. create a new socket : skt=new Socket();
2. add some event listeners...
3. issue a skt.connect(httpServer,httpPort); to connect the server *immediately* after loosing the wifi connection, but before the wifi icon in the status bar has changed.
4. the connect function will return, then after 1-2 seconds, the app will crash. none of the event handlers, including IOErrorEvent will fire before the crash.
If you wait for the device to switch to cellular or discover it has no network interface(network icons in status bar change), then try to skt.connect(), there is no crash and the event handlers fire.
We have also tried the beta SDK 15 on adobe labs, but it has the same bug. Reverting back to SDK 4.0, there is no crash, and the IOErrorEvent will fire as expected.
Were basically stuck at this point.
Thanks,
-Kelly