2013-11-23 56 views
5

我試圖讓我的WebApp在我的iPad(iOS 7)上運行。根據所有的研究,我已經做了,好像你需要專門啓用Cookie(天知道爲什麼!)在PhoneGap中啓用iOS 7的Cookie 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); 

這讓我在牆上!

+0

也許這個插件對你有用嗎? https://github.com/bez4pieci/Phonegap-Cookies-Plugin –

+0

謝謝 - 不知道這是否我所需要但:)我找到了一種方法讓它工作,通過在初始腳本加載1.5秒計時器然後似乎給了iOS時間來啓動cookie的一面。瘋狂,我知道...但它的作品! –

+0

我誤解了你的問題。其實我在PhoneGap應用程序中使用了很多cookie,並且我沒有問題。奇怪... –

回答

1

剛剛過去了我的問題,並認爲我會回答這一個 - 似乎由於某種原因,iOS不喜歡加載localStorage()準備就緒。爲了解決這個問題,你還必須設置一個1.5秒的計時器 - 所以它不會在iOS已經加載localStorage()之前運行。即:

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

這不是理想的 - 它會好得多,如果有一種方法,使針對iOS餅乾PhoneGap Build,而不必能夠寫一個插件來做到這一點(我不要沒有技能去做))

+0

你似乎有Android代碼。我不知道在phonegap源文件中編輯的位置,儘管在phonegap的早期版本中更容易。嘗試在phonegap應用程序中提供的設備就緒回調中包含localStorage函數。 – JVE999

0

如果你指的是document.localStorage(如上評論)將成爲問題,因爲localStoragewindow的屬性,而不是document

+0

對不起,我的意思是窗口。localStorage :) –