Я нашел ответ после поисков. Вот что я сделал:
Создайте новый проект в XCode. Думаю, я использовал приложение на основе просмотра.
Перетащите объект WebView на свой интерфейс и измените его размер.
Внутри вашего WebViewController.m (или файла с аналогичным именем, в зависимости от имени вашего представления) в методе viewDidLoad:
NSString * filePath = [[NSBundle mainBundle] pathForResource: @ "index" ofType: @ "html"];
NSData * htmlData = [NSData dataWithContentsOfFile: filePath];
if (htmlData) {
NSBundle * bundle = [NSBundle mainBundle];
NSString * путь = [bundlePath];
NSString * fullPath = [NSBundle pathForResource: @ "index" ofType: @ "html" inDirectory: path];
[webView loadRequest: [NSURLRequest requestWithURL: [NSURL fileURLWithPath: fullPath]]];
}
Теперь любые файлы, которые вы добавили в качестве ресурсов в проект, доступны для использования в вашем веб-приложении. У меня есть файл index.html, включающий javascript, css и файлы изображений без проблем. Единственное ограничение, которое я обнаружил до сих пор, заключается в том, что я не могу создавать новые папки, поэтому все файлы загромождают папку ресурсов.
Уловка: убедитесь, что вы добавили файл как ресурс в XCode, иначе файл не будет доступен. Я добавлял пустой файл в XCode, а затем перетаскивал свой файл наверх в поисковике. Это работает для меня.
Примечание: я понимаю, что Obj-C не так уж и сложно выучить. Но поскольку у меня уже есть это приложение на JS, и я знаю, что оно работает в Safari, для меня это намного более быстрый цикл разработки. Когда-нибудь я уверен, что мне придется сломаться и изучить Obj-C.
Еще несколько полезных ресурсов:
Вызов Obj-C из javascript: вызов Obj-C из javascript
Вызов javascript из Obj-C: разработка приложений iphone для веб-хакеров
Чтение файлов из пакета приложений: uiwebview
Посетите PhoneGap на http://www.phonegap.com, они утверждают, что он позволяет встраивать JavaScript, HTML и CSS в собственное приложение для iPhone.
источник
Тем, кто делает это на iPhone 2.1 (возможно, 2.0), НЕ нужно создавать какие-либо специальные службы для локального хранения данных. MobileSafari, похоже, поддерживает API базы данных HTML5 / WHATWG SQL. Это тот же API, который поддерживается последними версиями настольных Safari и Firefox.
Если вы используете такой инструментарий, как Dojo или ExtJS, который предлагает абстракцию хранилища, ваш код должен работать практически в любом современном браузере, включая MobileSafari.
Для проверки откройте http://robertsanders.name/dev/stackoverflow/html5.html на своем iPhone.
Если вы откроете эту страницу и посмотрите на файловую систему iPhone с взломанной версией, вы должны увидеть базу данных где-нибудь в / private / var / mobile / Library / WebKit / Databases /. Там даже есть каталог открытых через Интернет БД.
источник
Вы можете создать приложение, не зная никаких obj-C. Платформа QuickConnectiPhone позволяет вам это делать. Посетите http://tetontech.wordpress.com, чтобы узнать, как его использовать, а также о других способах сделать то, о чем вы просили.
источник
У вас должна быть собственная оболочка, написанная на Objective C. Эта оболочка может содержать действительно несколько строк кода (например, 10), необходимых для создания WebView и перехода его по заданному адресу в Интернете (где находится ваше приложение). Но в этом случае ваше приложение должно быть полнофункциональным веб-приложением (я имею в виду, использовать не только JavaScript, но и некоторый HTML для разметки).
источник
Я столкнулся с той же проблемой. У меня уже есть игра, полностью написанная на Javascript. Я бы хотел сделать версию, удобную для iPhone, но Obj-C - это излишество. В итоге я использовал WebView, чтобы указать на специальный URL-адрес приложения iphone. Подумав об этом, я полагаю, что мог бы просто переместить эти файлы в каталог приложения и запустить их локально.
источник
Невозможно сделать это с текущим API Apple. Ближайший вариант - написать простое собственное приложение для iPhone, в которое встроен браузер webkit. Это позволит вам просматривать ваше приложение xhtml / js локально.
Если вы хотите хранить данные, вам нужно сделать еще один шаг и включить легкий http-сервер, который обслуживает ваше приложение и предоставляет вызовы для хранения и извлечения данных. Возможно, не идеальное решение для вас, но, возможно, меньше работы, чем полное приложение Obj-C.
Кстати, Obj-C довольно легко изучить. В SDK есть масса примеров. Сообщество сильное и без колебаний ответит на хорошо поставленные вопросы.
источник
Некоторое время я использую телефонную связь, и, похоже, для меня это дает наилучшие результаты. Я опубликую свой опыт примерно через неделю со ссылкой на свое приложение.
источник
Titanium Mobile также является вариантом - он позволяет писать JavaScript, который переводится в Objective-C.
источник
По крайней мере, двое других упомянули о телефонном разговоре, но я подумал, что опубликую это тоже и упомяну, что Apple одобрила структуру телефонного разговора. Итак, теперь Apple не откажется от вашего приложения только потому, что вы используете телефонную связь.
Сообщение в блоге о телефонной связи и Apple - http://blogs.nitobi.com/jesse/2009/11/20/phonegapp-store-approval/
Phone Gap Home
источник