IOS9 webapp orientation issue - Sencha version 1.0 - ios

We are using Sencha1.0 for our webapp development. In IOS9 version we are facing the following issues.
On initial page load, the page looks fine. When you try to change the device orientation to landscape and back to portrait, all images icons and texts are resized(small).
We tried -webkit-transform : rotate(-90); its doesnt work.
Please suggest the cause and any solution for this.

Sencha Touch 1.1.1 is really quite old version of the framework.
And there is a lot of bug fixes already applied to the framework. The new version of the mobile OS often break a thing or two. You will be also probably seeing an issue on Android devices which runs Chrome 43+
If you already have an App finished and this is the only problem you see, you might fix this by applying override. ( You can check the newer version of the framework and took the part which fixes the issue ) - but it might be really hard to find. Also you probably can't even reach to Sencha support, as the Touch 1 is no longer supported.
But if you are developing the new App, best option for you is to upgrade to Touch 2.4.2
The major release of Sencha Touch should be free to download.
I know that this won't fix the issue but by answer is too long for a comment.

Related

Reveal.js does not load in ios9.3

My old iPad (ios9.3) refuses to load any reveal.js slides. It only shows the "Fork me on Github" image on the top corner. I suppose it will be that ios 9.3 does not support some new features of html5+js+css (I am not a developer, my skills are quite limited, so please excuse me if I say something stupid).
I am very interested in using it on an iPad due to the chalkboard plugin.
Any of you know what can be causing the trouble? Could I disable any of these features/files and make it work?
Thank you.
aimar
During all this weekend I was trying to figure out a solution. Finally, I manage to debug iOS safari from my windows laptop following this procedure and found that an "Unexpected identifier" was impeding "chalkboard" plugin to load.
A variable was defined with "let" command that, as I learnt, was not recognized by safari 9. I changed 4 "let"s with 4 "var"s commands in "plugin.js" (chalkboard plugin) and now it works in my old iPad, even with reveal v4.
Now I have another issue with the menus (menu plugin) not showing properly, but I will try also to fix it.

Tap issue with Ionic and Cordova on iOS 10

iOS 10 it's still in beta, but it will be released on Tuesday the 13th.
I install the beta on my iPad and I notice that the tap is not working very well. (single tap not working, you have to tap several times to simulate a single tap (or click a button, change page and so on)
I am currently running ios 10.0.1 (updated last night) and i'm still facing this issue.
Is anybody facing the same problem?
I can see this behaviour only on my app, other apps are working fine.
The setup is:
ionic 1.3.1
cordova 6.3.1
Is there anything changed on iOS 10 events that I need to bare in mind? sorry for the vague question, but it's something I need to fix before they release it officially or I will have a lot of angry customers.
Thank you !!!
SMALL UPDATE
Replacing ng-click with on-tap should solve part of this issue. You will still have problems with ui-sref and with any other place that doesn't use ng-click tho.
I've posted this issue in a bunch of different places, if you wanna keep track of it, they are here:
https://github.com/driftyco/ionic/issues/6928#issuecomment-253463917
https://forum.ionicframework.com/t/ionic-tap-issues-with-ios10/66764
Use (tap) directive instead of (click) directive.
Angular 2:
Ionic provides you with hammerjs under the hood, if you use the (tap) directive angular 2 will do all the wiring to connect that directive with hammerjs and that removes the 300ms delay.
Good luck.
Example:
<my-component (tap)="doSomething()"></my-component>
Angular 1.x:
Try with http://ryanmullins.github.io/angular-hammer/
Is the recommended repository from the guys of hammerjs for Angular 1.x
Example:
<div hm-tap="doSomething"></div>
i found one solution on website. but i don't use ng-material in my app.
did you try this????
.config(function( $mdGestureProvider ) {
$mdGestureProvider.skipClickHijack();
})
FIXED!
I finally fixed this. I don't know if this will be useful for you tho. The issue was one plugin I bought from ionic market, and to be precise it was this one:
https://market.ionic.io/plugins/ion-time-picker
I already sent an email to the developer, but if you are using this plugin, it may be the cause of ios10 not working.

No map tiles loading when using Mapbox legacy when compiling with Xcode 7

I'm currently in charge of maintaining a legacy application, written in Xamarin (without .Forms, I code individual UIs per platform).
The code uses a rather very old version of Mapbox iOS Mapbox iOS SDK Legacy.
My problem is, the map remains white, even though all our custom map pins are all loaded without a hitch. It's as if the tiles are not loaded.
I have compiled old versions of the app that were released successfully, but the problem persists.
The only difference between my current setup and the guy who coded it before me is, that I'm using a newer XCode version (Version 7).
Due to time constraints and existing code, refactoring the whole solution to use a more modern Mapbox implementation would only be my very last resort.
Does anybody have an idea what may be wrong, or what I could do? (Also non-Xamarin suggestions are more than welcome)
Thanks in advance,
Cheers
Turns out the solution was in the URL the base tiles were fetched from.
Apparently the component fails quietly on iOS 9.2 when trying to load tiles from an http source.
I changed the url to https and now it works like a charm.

Project is buggy after upgrading Xcode

I have an old app I maintaining. The app was first compiled on XCode 4.2. If I take the exact same project that works find and compile it on XCode 4.6 I'll get weird bugs such as ViewControllers not refreshing, Back doesn't work as it should etc'. If I'll take the same project and recompile it on xcode 4.2 on my other machine everything will work fine. Before I'm digging into the code, can someone give me an idea why something like this may happen? My main suspect is the Base SDK of each Xcode. Does that make sense?
I couldn't tell you if there will be a difference between 4.2 and 4.6, but historically the iOS frameworks on the device (and, to a lesser degree, the simulator) do adapt slightly depending on what version of the SDK an application was compiled against. You can't rule it out.
A classic (though now ancient) example is backgrounding. Apps built against older SDKs were quit when the Home button was pushed, rather than getting the newer behaviour. More recent (but subtle) examples have included several changes to table views and changes to device rotation.
You should not attempt to build with an older SDK using a newer compiler. Apple doesn't support that kind of configuration. You should always use the latest SDK. And you wouldn't want to pretend these problems don't exist, anyway: The bugs are real, they were just hidden before.
It's unlikely that you won't be able to fix those bugs in such a way that the older versions of iOS continue to function (though you may discover it opens a can of worms that you decide isn't worth fixing for older OSes).

Auto Rotate quit working after upgrading to MonoTouch 6

I made a project with MonoTouch 5. After upgrading to MonoTouch 6 my UIViewControllers are not auto-rotating anymore. These are hosted inside a tabviewcontroller. I get this warning:
ShouldAutorotateToInterfaceOrientation(MonoTouch.UIKit.UIInterfaceOrientation)' overrides obsolete member `MonoTouch.UIKit.UIViewController.ShouldAutorotateToInterfaceOrientation(MonoTouch.UIKit.UIInterfaceOrientation)'. Add the Obsolete attribute to ShouldAutorotateToInterfaceOrientation(MonoTouch.UIKit.UIInterfaceOrientation)' (CS0672)
But the method still gets called when I am debugging. The new ShouldAutorotate never gets called. Any ideas? Thanks!
There can be a few reasons. One of them is that you should be (if not already) setting the RootViewController in your AppDelegate (another link here). That was not required before iOS6.
Another one is starting to use the new iOS6 API, without keeping a fallback for earlier iOS versions. That would match your comment, i.e. works on 6.0 but not on 5.1.
Note that since you're still targeting iOS 5.x you can safely ignore the obsolete warnings. iOS 6 introduced new API to handle rotation but it will automagically fallback to the old API to keep compatibility with existing applications.
That also means that if you start using the new (iOS6 only) API then you'll need to handle the old API yourself or rotation won't work with iOS 5.x.
Honestly I think that's a testing nightmare - you're better off letting iOS handle this and keep a single code path to handle rotation. That why I strongly suggest you to keep using the older API until your deployment target minimal version becomes iOS 6.0.
I had the same issue after upgrading and I got the answer to my problem over here. Here is the heart of the problem, quoted from the link:
Application windows are expected to have a root view controller at the end of application launch
So if previously like me you have this in your FinishedLaunching(UIApplication app) method in main.cs:
window.AddSubview(mainVC.View);
Replace it with this:
window.RootViewController = mainVC;
That's it! Happy days! Rotation works again. :) At least it solved the problem for me.
I don't know whether this small thing causing the application to go wrong is Apple's fault or Monotouch/Xamarin's fault, but I think that the Xamarin team should do something about this. Surely this is something that could be detected and corrected at compile time?
Anyway. Hope this information saves other people the hours that this issue has cost me!

Resources