Phonegap / Cordova not working in ios8 - ios

I played around with the iOS 8 beta and noticed that Cordova/Phonegap is pretty much broken.
For me it is mainly the InAppBrowser that now doesn't show up.
what are your experiences?
Do you have a fix or an idea for a solution?
Thanks.

You can fix this with a bit of Javascript in your index.html (or install iOS 8 beta 2, which seems to have fixed the issue):
https://gist.github.com/EddyVerbruggen/cd02c73162180793513e#file-ios8-beta-phonegap-fix
// temp fix for iOS8 beta, add it after the reference to cordova.js
// You don't actually require it for ios 8 beta 5
if (navigator.userAgent === undefined) {
navigator.__defineGetter__('userAgent', function() {
return("Mozilla/5.0 (iPhone; CPU iPhone OS 8_0 like Mac OS X) AppleWebKit");
});
}

A plain cordova sample app (e.g. "cordova create test") will load fine.
If you add any cordova plugins you will encounter problems in "iOSExec()", see "platform_www/cordova.js":
bridgeMode = navigator.userAgent.indexOf(' 5_') == -1 ? jsToNativeModes.IFRAME_NAV: jsToNativeModes.XHR_NO_PAYLOAD;
Change that to:
bridgeMode = jsToNativeModes.IFRAME_NAV;
and you can use plugins again. This will break backwards compatibility with iOS 5, but i doubt you will find anybody running iOS 5 and cordova today...
If you are using fastclick.js or backbone.js you will have to make some small modifications, too.
Just follow the error messages in Safari's webinspector.

In early iOS 8 Betas, Cordova/Phonegap apps were broken due to a user agent bug, but according to the iOS 8 Beta release notes (WebKit section) this bug was officially fixed in iOS 8 Beta 3. (It was actually already fixed in iOS 8 Beta 2.)
Good to see that Apple has tested Cordova/Phonegap apps and fixed this issue. A bit disappointing that the bug existed in the first place, but early betas always have lots of issues.

Update XCode to Beta 2 and it's working without any fix (tested with cordova 3.5.0).
You need to download the new version of XCode on the iOS Dev Center since autoupdate is not yet available for beta..

Related

What is the minimum iOS version supported by ionic 3?

As I got information from googling and reading on ionic official docs
iOS 8+ should be supported
but when I tried to download it from the app store in my device (iPhone 5) I got
This means the ionic 3 apps are not supported by iOS 10. If so then is there any way to make it available for iOS 10 as well in ionic 3?
any help is appreciated.
Looking at this, it seems to be the newly Content Security policy.
common symptom of apps suffering from this issue is that the app continues to work as expected on Android, uptill iOS 9 but doesn't launch / load on iOS 10.
i also havent found a way to make this work

Swift Code in XCode 7.3.1 not working in iOS 10

I am building an iOS app using Swift 2.2, XCode 7.3.1, which is going to go live very soon. I upgraded my iPhone to iOS 10.0 and now when I try to run my code in my iPhone, I am getting the error -
At this stage of my project I don't want to upgrade to XCode 8.0 and use Swift 3.0. Is there any way I can make my code written in XCode 7.3.1 work in iOS 10. My code is working well for iPhones having iOS versions 9.3.2
Thanks
No, Xcode 7.3.1 does not support iOS 10. You cannot. You will have to upgrade to Xcode 8.
And, you should upgrade because it also provides you Swift 2.3 which will help you run latest SDK for iOS 10 etc and the transformation is automatic.
Read here: https://developer.apple.com/swift/blog/
To detect device in XCode you must install software with appropriate version or system will show you the message you have mentioned in the question.
A workaround as per your wish is that every time you make an IPA of your release and install it in the device you want to run with it (that could be a hard time if you deploy several times a day). Remember there is an upward compatibility but no downward compatibility that is if your deployment target is 8 or above you can run the IPA on device having iOS 8 or above but not in iOS 7.
Perhaps you may get some issues on running it on new iOS because of the some obsolete or new features, and to fix that you must upgrade XCode and compile your code on it.
Hope that helps!
Copy the folder 10.0 (14A345) in DeviceSupport folder of Xcode8 to
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport
It works for me :)

Is the Xcode 6 UIWebView not compatible with iOS 7.1

I am very new to iOS programing and am right now using Swift to do coding with XCode.
I want to use UIWebView on my app. I created a webview and used the following code to run it.
var url = NSURL(string:"http://some-website.special.page.com/");
var req = NSURLRequest(URL:url);
webView.loadRequest(req);
This works perfectly on a ioS8 simulator and phone but when i try to execute/deploy the same on a simulator/iPhone with 7.1 the app crash!
All i get is the following error on XCode.
dyld`dyld_fatal_error:
0x8fe460b4: int3
0x8fe460b5: nop
Going through stack overflow older post i stumbled upon this post Which is the cause for dyld`dyld_fatal_error, a incompatible api on iOS?
which also talks about this error. But in my case i have not used any additional framework. I think it should be compatability issue with the webkit. Not sure if i am thinking on the right direction. Whats the work around on this as i want my app to be backward compatible as well as use ios8 features? Appreciate any help.
Similar problem happens on OS X too.
If I use 10.9 SDK but have the code compiled using Xcode 6 beta 2 on Yosemite, the binary runs w/o problem on Yosemite, but it crashed on 10.9; if the exact same code was compiled in Xcode 6 beta 2 on a 10.9.3 machine, it runs without problem on 10.9 but got random crashes on Yosemite.
I guess there's either a bug regarding the system or SDK in Xcode 6 beta, but can't be sure.
(Sorry I was mean to use the comment, but my reputation wasn't > 50.)

Migration project to iOS 7 required or not?

I have project which was developed iOS 6 and when I install it on device with iOS7 it's looks good. But now I update xcode to 5th version and now it's look not so fine. I know about application migration. My question is will I have some problems if I will continue using xcode 4 and upload to Apple will be targeted to iOS 6?
Your iOS 6 app runs in a compatability mode when run on iOS 7. You can currently submit apps compiled with older versions of Xcode but they will stop accepting them at some point -- and probably quite soon.
To directly answer you question: no, you don't have to update now. But assuming you will want to maintain the app for more than another couple of months it's some work you'll have to schedule.
Update: Apple will require new and updated apps to be compiled with Xcode 5 from February 1 2014, around four months after iOS 7 came out.
You are fine with Xcode 4 -- for now. But I would advise to get familiar with the iOS 7 SDK and Xcode 5 as soon as possible.
You did not explain why "it's look not so fine". Just set the target OS to 6.0, and it should really behave exactly the same way, maybe with a couple of more warnings.
I have left a project on the App Store, compiled with iOS 5.
With my surprise (I did not know about that) I found out that the App, running on iOS 7 device looks perfectly fine, without all the problem of elements positioning, just as it was on an iOS 5/6 device. Even the keyboard is displayed old style.
On the contrary if I run with a simulator, everything is messed up. So I choose to leave as it is, and plan a layout upgrade in the nearest future.
Yes. You can use 4.
You want you can build against an older sdk with 5.
How to build against older iOS versions with the latest Xcode downloads?

Xcode 4.2 with iOS 5.0 not detecting iPhone iOS 5.1.1

I changed a while ago from Xcode 3 to Xcode 4.2 for Snow Leopard. Everything was fine, I developed apps for iPhone and all was going smoothly until today...
I got alert:
The version of iOS on “iPhone Prophone” does not match any of the versions of iOS supported for development with this installation of the iOS SDK. Please restore the device to a version of the OS listed below, or update to the latest version of the iOS SDK; which is available here.
Which is strange, because yesterday I was able with simple "run" test my app aimed for iOS 5.0 (Xcode target 5.0, 4C199) with my iPhone 4S, which has iOS 5.1.1 (9B206) for quite some time. In Organizer->Devices my iPhone has a yellow dot suggesting that something is wrong. I don't think I did something unexpected, just came, turned mac on and fired up Xcode... any solution?
I've read that, but as I said - I was using new Xcode for few weeks and suddenly this "non-detection" happened...
I'm stuck, thanks for help.
EDIT:
I found something relevant in this topic on SO, but I'll wait a bit - maybe there is something simpler or more obvious that I missed.
I managed to solve the problem, by:
1) downloading xcode 4.3.1
2) copying from package content SDK & Device Support for iOS 5.1 into Xcode directories
3) run and test on your device
solution found here: iOS 5.1 with Xcode 4.2 and retina in iPad 3

Resources