Доступ к родным свойствам/методам iOS из UIwebview из гибридного приложения

Я не специалист по iOS. У меня есть основной вопрос: можно ли получить доступ/вызвать какие-либо методы/свойства Objective C из веб-просмотра пользовательского интерфейса? Другими словами, что произойдет, если я оставлю некоторый объективный код C на HTML-странице и загружу его в UIwebview гибридного приложения iOS? Выполнится ли код?


person Dummy    schedule 01.07.2013    source источник


Ответы (1)


Нет - код не будет выполняться. То, что вы описываете, является «инъекцией» и, если бы это было возможно, могло бы нанести ущерб приложению.

Что-то, что я делал в прошлом, - это создавать приложение с контейнером UIWebView (что-то вроде того, что вы описываете), а затем возвращать ответ, который мой код может программно искать и обрабатывать. Это, конечно, возможно, потому что я написал и приложение, и веб-сервер.

Я уверен, что есть другие способы сделать это, но это сработало для меня.

person Dan    schedule 01.07.2013
comment
Спасибо. Итак, если я правильно понимаю, если я могу контролировать все приложение, я могу создать какой-то предопределенный (допустимый) интерфейс между UIwebview и приложением для установления такого рода связи? - person Dummy; 01.07.2013
comment
Типа, типа. Если вы контролируете как содержимое веб-страницы, с которой работает приложение, так и само приложение, вы можете сделать NSURLConnection вызов на свой сайт, и ваш сайт вернет параметр, который вы ожидаете... что-то вроде callMethod='doSomething' и отреагировать, когда ваше приложение читает этот ответ в методе делегата connection:didReceiveData. Это, конечно, предполагает, что вы добавляете NSURLConnectionDelegate. - person Dan; 01.07.2013