在PhoneGap Build中启用iOS 7的cookie

时间:2013-11-23 09:01:30

标签: ios cordova phonegap-build

我正试图让我的WebApp在iPad上运行(iOS 7)。根据我所做的所有研究,您似乎需要专门启用cookie(善良知道原因!)

我在SO上发现了这篇文章:

How to enable cookies for Android phonegap 1.8.0 app?

除了我正在使用PhoneGap Build来创建我的应用程序(因此无法访问这些文件以进行编辑)之外,这一切都很好。

有谁能建议我能做什么?在没有做这个黑客攻击的情况下,我无法在我的iOS应用程序上使用localStorage(或cookie)似乎很疯狂! (我的应用程序在Android上完美运行,没有这个问题)。

我已经看过安装XCode并手动编码/编译应用程序,但这只适用于Mac(我没有)

更新:浏览一下,似乎唯一的解决方案(我能找到)就是编写一个插件来启用cookie。这一切都很好,但是:

  • 我没有Mac在
  • 上写
  • 我可以编写很多语言,但Java不是其中之一
  • 我怎么能把它添加到他们的构建列表中,所以我可以包含它!

有人有兴趣为我编写插件吗?据我所知,它只需要调用:

CookieSyncManager.createInstance(this);
CookieSyncManager.getInstance().startSync();
webView = (WebView) findViewById(R.id.webview);
webview.getSettings().setJavaScriptEnabled(true);

这让我起了墙!

2 个答案:

答案 0 :(得分:1)

回答我的问题,并认为我会回答这个问题 - 似乎出于某种原因,iOS并不喜欢在页面上加载 localStorage() 。要解决这个问题,你还必须设置一个1.5秒的计时器 - 所以它在iOS加载 localStorage()之前不会运行。即:

setTimeout(function() { doInit() } , 1500);

这不是理想的 - 如果有一种方法可以在PhoneGap Build中为iOS启用Cookie,那就更好了,而不必编写插件来执行此操作(我不喜欢这样做) #39; t有技能;))

答案 1 :(得分:0)

如果您引用的是document.localStorage(如上所述),那么localStorage属于window属性,而不属于document。< / p>