2013-11-23 11 views
5

Sto provando a far funzionare il mio WebApp sul mio iPad (iOS 7). Secondo tutte le ricerche che ho fatto, sembra che tu devi abilitare i cookie specifico (chissà perché!)Abilita i cookie per iOS 7 in PhoneGap Build

ho trovato questo post su SO:

How to enable cookies for Android phonegap 1.8.0 app?

Questo è tutto buono e ben , a parte il fatto che sto usando PhoneGap Build per creare la mia app (quindi non ho accesso a quei file da modificare)

Qualcuno può suggerire cosa posso fare? Sembra folle che non posso usare localStorage (o cookie) sulla mia app iOS senza fare questo trucco! (La mia app funziona perfettamente su Android, che non ha questo problema).

Ho guardato l'installazione di XCode e manualmente la codifica/compilazione del app, ma questo funziona solo su un Mac (che non ho)

UPDATE: Avere uno sguardo intorno, sembra che l'unica soluzione (posso trovare), è scrivere un plugin per abilitare i cookie. Questo è tutto bene e ben, ma:

  • Non ho un Mac per scrivere sul
  • posso programmare un sacco di lingue, ma Java non è uno di loro
  • Come dovrei persino fatelo aggiungere alla loro lista di build, quindi potrei includerlo!

Qualcuno sarebbe interessato a scrivere un plug-in per me? Per quanto posso vedere dovrebbe solo invocare:

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

Questo mi sta facendo sobbalzare!

+0

Forse questo plugin è utile per te? https://github.com/bez4pieci/Phonegap-Cookies-Plugin –

+0

Grazie - non sono sicuro che faccia quello che mi serve comunque :) Ho trovato un modo per farlo funzionare, impostando un timer di 1,5 secondi sul caricamento iniziale dello script, che quindi sembra dare tempo iOS per avviare il lato cookie delle cose. Insano, lo so ... ma funziona! –

+0

Ho frainteso la tua domanda. In realtà io uso molto i cookie nelle app di PhoneGap e non ho problemi. Strano ... –

risposta

1

Semplicemente andando oltre le mie domande, e ho pensato di rispondere a questa domanda: sembra che per qualche motivo, iOS non ami caricare il localStorage() nella pagina pronto. Per aggirare questo problema, devi anche impostare un timer da 1,5 secondi, in modo che non venga eseguito prima che iOS abbia caricato localStorage(). vale a dire:

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

Questo non è l'ideale - e sarebbe molto meglio se ci fosse un modo per attivare i cookie per iOS in PhoneGap Build, senza la necessità di essere in grado di scrivere un plugin per farlo (che ho don avere le competenze necessarie;))

+0

Sembra che tu abbia il codice Android. Non so dove apportare la modifica nel sorgente di phonegap, sebbene nelle versioni precedenti di PhoneGap fosse più facile. Prova a includere la funzione localStorage nel callback pronto per il dispositivo disponibile nelle applicazioni phonegap. – JVE999

0

Se ti riferisci a document.localStorage (come ha commentato sopra) che sarà il problema, dal momento che localStorage è una struttura di window, non di document.

+0

Mi dispiace, volevo dire finestra.localStorage :) –

Problemi correlati