Phonegap /cordova不工作在ios8

我玩了iOS 8testing版,注意到Cordova / Phonegap已经坏了。

对我来说主要是InAppBrowser,现在不出现。

你有什么经验? 你有解决scheme或想法的解决scheme?

谢谢。

你可以在你的index.html中使用一些Javascript修复这个问题(或者安装iOS 8 beta 2,这似乎已经解决了这个问题): https : //gist.github.com/EddyVerbruggen/cd02c73162180793513e#file-ios8-beta -phonegap修复

// 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"); }); } 

一个普通的cordova样本应用程序(如“cordova创buildtesting”)将加载罚款。

如果您添加任何cordova插件,您将在“iOSExec()”中遇到问题,请参阅“platform_www / cordova.js”:

 bridgeMode = navigator.userAgent.indexOf(' 5_') == -1 ? jsToNativeModes.IFRAME_NAV: jsToNativeModes.XHR_NO_PAYLOAD; 

将其更改为:

 bridgeMode = jsToNativeModes.IFRAME_NAV; 

你可以再次使用插件。 这将打破向后兼容性与iOS 5,但我怀疑你会发现任何人今天运行iOS 5和cordova…

如果你正在使用fastclick.js或backbone.js,你也必须做一些小的修改。 只需按照Safari的webinspector中的错误消息。

在早期的iOS 8 Beta版中 ,由于用户代理错误,Cordova / Phonegap应用程序被破坏,但根据iOS 8 Beta发行说明 (WebKit部分),此错误已在iOS 8 Beta 3中正式修复。(它实际上已经修复iOS 8 Beta 2)

很高兴看到苹果已经testing了Cordova / Phonegap应用并解决了这个问题。 有点令人失望的错误存在的第一位,但早期贝塔总是有很多问题。

更新XCode到Beta 2,它没有任何修复工作(与cordova3.5.0testing)。

您需要在iOS开发人员中心上下载新版本的XCode,因为autoupdate尚未公测。