Al hacer clic en un enlace dentro de una vista web que activará una pantalla iOS nativa (con parameters pasados ​​desde la vista web)

Al ver la aplicación Facebook iOS, se puede ver que cuando se ingresa en el feed (por ejemplo), onclick en un comentario se abrirá un cuadro de dialog iOS nativo, y onclick en una foto, también aparecerá una pantalla iOS nativa solo con ese fin. O onclick en Comentarios, se cargará una pantalla iOS diferente para eso.

Estoy trabajando en una aplicación de iOS híbrida (html5 + obj-c) y me encantaría este tipo de funcionalidad. He comprobado:

http://en.wikipedia.org/wiki/Multiple_phone_web-based_application_framework

Pero no puede decir cuál es el más adecuado. Por ejemplo, phonegap es muy popular, pero no estoy seguro de si esta tipo de implementación con él (el "puente nativo") es algo posible. Incluso si es así, si me requerirá manejar una curva de aprendizaje importante (es syntax y escribir un complemento especial). ¿Qué habrías hecho? Cuál FW es el más apropiado. No utilizo CUALQUIER funcionalidad del sistema, como la camera / sistema de files / etc … el phonegap ofrece excepto el bridge nativo, así que piensa en el tamaño de trabajo del marco y es la ÚNICA parte que necesito. Dicho esto, la aplicación no debe ser 100% phonegap o 100% nativa.

Supongo que sencha touch 2 está fuera de cuestión para los objectives de este requisito

Sí, puedes usar un protocolo personalizado.

En su html, declare su function de llamada JS:

function callIt(paramText) { var iframe = document.createElement("IFRAME"); iframe.setAttribute("src", "my-protocol://" + paramText.replace(/ /gi,'%20')); document.documentElement.appendChild(iframe); iframe.parentNode.removeChild(iframe); iframe = null; } 

En iOS, interceptarás la llamada usando el método webView delegate webView: shouldStartLoadWithRequest: navigationType:

Compruebe si la request tiene su prefijo "my-protocol:". En este caso, extraiga su parámetro de la request utilizando el ejemplo ": //" separador (también puede usar cualquier separador que desee) y devuelva NO.

utilizando solo el marco Sencha , puede hacer llamadas de esquema de url personalizadas desde su código javascript

por ejemplo :

 window.location='test://'+parameters; 

en la parte nativa debe escribir su manejador de protocolo cuando se realiza una llamada a esta url personalizada, el manejador ejecutará las funciones correspondientes en su parte nativa.

ahora en la dirección opuesta, digamos ahora que desea pasar de ios nativos a sencha, puede save sus datos en un file javascript y usarlo en una parte de sencha, puede llamar a funciones en javascript desde su código nativo.

no necesita usar phoneGap ya que tiene acceso a todos los framework nativos