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;
console.log(currentPage.toString());
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.
Hi!
This is very strange indeed, but hard to debug from just this description. Can you provide a full test project that illustrates the error?
Thanks!
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!