Hi,
we upgraded one of our phones to iOS 8.4 and noticed an important lifecycle change from iOS 8.3 to iOS 8.4.
Starting point:
Watchkit app is available on watch, parent iPhone app is not running.
In iOS 8.3:
- Watchkit app calls WKInterfaceController.openParentApplication
- The parent iPhone app gets launched and AppDelegate.application:didFinishLaunchingWithOptions:
- AppDelegate.application:handleWatchKitExtensionRequest: is executed
In iOS 8.4:
- Watchkit app calls WKInterfaceController.openParentApplication
- AppDelegate.application:handleWatchKitExtensionRequest: is executed directly
This caused a major issue in our app because we rely on application:didFinishLaunchingWithOptions doing the required setup for us on app start. I am sure that other apps will have similar issues since application:didFinishLaunchingWithOptions is often used to initialize 3rd party libs.
This could easily be reproduced by shutting down the app on the iPhone.
I filed a bug (#21652770) for this issue