iOS preview behaving strangely

My app navigation works no problem in Local preview and Android preview, but for some reason on iOS preview the behaviour is completely different. Almost like the Observables aren’t being properly observed.

For one, I have a DirectNavigation: <DirectNavigation ux:Name="NavMain" Active="{currentPage}" />

I navigate between pages by changing the value of the currentPage observable. On iOS, except for the initial page, whenever the currentPage.value changes (and I see it change in the Monitor), it’s not reflected in the app.

Same thing for other Observables. I cannot go past the login page on iOS due to the currentPage thing, but even the login button should be animated on this page. Instead, it just animates once on the initial load. However, all subsequent hot-reloads will have no effect on it (it returns to initial state but won’t go in “loading” state again). Like the observables aren’t observed.

Happy to share the code if it helps. I’m really lost on this one.

With additional logging, here is what I found:

currentPage.value = page;

will give me (as should be) LOG: (observable) LoginPage but this code

currentPage.addSubscriber(function (obs) {
    console.log('currentPage: ' + obs.value);

gives me nothing in iOS (and accurately gives me LOG: currentPage: LoginPage about anywere else). So it looks indeed like subscribers of an Observable are not being notified.

It’s only happening on my iPhone device. It works fine on the iPhone simulator.


This is very strange indeed, but hard to debug from just this description. Can you provide a full test project that illustrates the error?


I got my hand on a different iPhone and it’s working fine, so apparently it’s this one iPhone that’s bugged…

Strange. Can you check the device model & iOS versions of the devices and let us know which one causes problems?

it’s an iPhone 6 running iOS 8.3

I upgraded it to iOS 9.3 and now it works fine!

Thanks for letting us know and great that you got it working after an upgrade. We haven’t seen this issue anywhere else but we’ll keep our eyes open!