Avere un diavolo di tempo con questo.Chiamare il codice Obj-C da JavaScript tramite Console: gli argomenti vengono ignorati?
Ho una super-semplice applicazione Cocoa contenente una WebView, un'API WebScripting definita nella pagina e un singolo NSObject definito su tale API. Quando accendo gli strumenti del debugger (nel WebView incorporato), posso vedere l'API sull'oggetto della finestra JavaScript, e posso vedere la mia proprietà "api" definita su quello - ma quando chiamo il metodo "get" dell'API, gli argomenti non vengono serializzati - quando viene chiamato il metodo Obj-C, mancano gli argomenti. Vedi sotto, che illustra spera:
ho pettinato attraverso i documenti, ho (apparentemente) impostare i metodi appropriati per esporre tutto ciò che deve essere esposto, e posso vedere il metodo dell'essere chiamato. Deve esserci qualcosa di stupido che mi manca, ma come novellino di questo ambiente, non lo vedo.
Grazie in anticipo per il vostro aiuto!
È interessante notare, sembra che quando chiamo questi metodi da script all'interno di una pagina caricata dal WebView, le cose sembrano a posto. È solo quando invoco i metodi JavaScript con gli strumenti di sviluppo che gli argomenti vengono eliminati. Di nuovo, i metodi vengono chiamati, i punti di interruzione vengono colpiti (in Xcode), ma non gli argomenti. Perplesso. –
Avete provato a cambiare ottenere: (NSString *) input per ottenere: input (id) e impostazione di un punto di interruzione (non NSLog) solo per vedere se qualcosa sta attraversando? – JoeCortopassi
Possiamo vedere anche parte del codice javascript? – Sam