Today Extension invalidated

Hello,


I have written a fairly simple today extension.


On iOS9 (beta 5), after I scroll the extension out of view, I get a console log error:


Sep 2 14:36:34 {myPhoneName} SpringBoard[2570] <Warning>: plugin {myExtensionBundleName} invalidated


then after scrolling it back into view, it is unresponsive (i.e. none of the widget buttons are responsive). Until I close the Today screen and re-open it the widget remains unresponsive.


On iOS8 I don't see this behavior, so I'm not sure if this is a bug in my code or in the iOS9 beta. I do see these same <invalidated> console messages for other widgets. However I don't see the Apple Weather widget doing this, and see it remain responsive after being scrolled out of view, so feel I must be doing something wrong


Thanks in advance for any guidance to help diagnose.


Chris @ Vertifi

additional info...


I do see the widget receiving viewWillDisappear and viewDidDisappear callbacks (prior to the "plugin invalidated" console warning), but not a subsequent viewWillAppear callback after it's scrolled back into view.

I'm seeing this too. Not sure how I didn't notice it until today. Have you filed a radar on it yet? This will be bad if this bug makes it into the GM.

I have now filed a bug report (22557233), knowing that at least one other is seeing this same behavior is reassuring.


Further, I have created a very simplistic sample project that demonstrates this problem and also sent it to Apple

Hi, I'm suffering the same behavior in an app that was OK in iOS8.

Recompiled against ios9 sdk (Xcode beta6 & ios9 beta5) without any change in the code, it reproduces the 'freeze' problem after the viewDidDisappear(). There is no viewWillAppear() after that, and the only way to get it work is closing and reopening the Today view.


Hope this will be addressed in the GM 😕


-----

(edited to add version info)

Unfortunately this issue still exists in iOS9 GM

Yes, just was looking for the thread to update my hopes. For any reason, after viewWillDisappear(), the extension freezes until new full reload (swipe up/down).

I have tested just now a workaround that looks like to perform as expected. If possible (if you are not using any iOS9 enhance), set the deployment target of the Today extension only to 8.4.


Although the behavior has some glitches, I have found that performs better than the iOS9 version.


I'll also fill a bugreport. Maybe in the 9.1...

Hmm, I have a deployment target of 8.0 (always have) and I still have this problem in iOS 9 GM. I filed a bug as well back on Sept 2 and haven't heard anything from it yet.

Have you been able to reproduce this issue with the final 9.0 version that went out publically? I'm having trouble reproducing it with that version.

Hi Greg,

In the 9.0 final, it looks like the bug has gone when targeting to ios 9 at least. Certainly, when doing debug testing, the bug was already hitting the UI, but on a clean install (disable the widgets, delete the main app, and run the main app, not the extension), it seems to be OK.


So, in order to reproduce if it is OK, I think you could you test in that way, as follow:

1. delete the app in the phone

2. run the main app with xcode.

3. stop the app with xcode.

4. unattach the usb cord.

5. enable the widgets.

6. try the behavior.


It is important that the debugger isn't running, because it looks like that the today extension gets killed when not shown, and full reloaded when redisplayed, and, in that scenario, xcode seems to be lost.

Today Extension invalidated
 
 
Q