Самый простой способ включить загрузку файлов iPhone при сборке приложения с помощью AppElerator's Titanium Developer - PullRequest
1 голос
/ 03 марта 2010

Извините за длинное объяснение. Заранее спасибо всем, кто нашел время.

Я пользователь Ubuntu, который установил Titanium Developer на MacMini, чтобы создать приложение для iPhone (и, в конечном счете, некоторых других платформ).

Вместо встроенного локального кода приложение просто указывает на мой веб-сайт. Для этого все, что мне нужно было сделать, это изменить файл tiapp.xml на Titanium, чтобы он включал URL моего сайта. Я не написал никакого другого кода, и мне не нужно было включать какие-либо другие файлы. Он просто компилируется и запускается в эмуляторе без помех.

У меня есть только одна проблема: мне нужно загрузить файлы на мой сайт, и Apple, как большинство из вас знает, отключила поле ввода type = file. У меня это работает во всех других браузерах. Действие просто вызывает файл php и передает информацию о файле.

Если у меня не было приложения, и кто-то просто вручную переходил на мой сайт с помощью браузера Safari на iPhone, я мог бы обойти эту проблему, используя CliqCliq, очень классное приложение для iPhone , По сути, я использую JavaScript window.open () для запуска браузера QuickPic CliqCliq во втором окне Safari. Пользователь выбирает файл; QuickPic загружает его; и пользователь возвращается ко второму окну Safari, которое я запустил с помощью window.open (). Пользователь закрывает окно, и Safari возвращает их в первое окно (то есть на мой веб-сайт).

Проблема в том, что мой сайт отображается в моем приложении. (Кстати, у меня еще нет лицензии разработчика, хотя я зарегистрировался несколько недель назад, и я не могу проверить это в эмуляторе, потому что я не могу установить QuickPic в него, я предполагаю.) Я Я хотел повторить те же шаги, описанные в предыдущем параграфе, используя iFrame, но, похоже, это не сработало (т.е. iFrame был пустым, несмотря на то, что я назначил src). Я также пытался использовать скрытое окно, используя старомодные рамки и устанавливая ширину col в 0. Это также не работало (то есть Safari, если я правильно помню, открыл отдельное окно).

Я работаю немного слепо, так как я не могу ничего протестировать на iPhone, но я полагаю, у меня есть два варианта: я могу найти способ запустить QuickPic в iFrame - или - я могу найти некоторые способ включить средство выбора файлов Apple toolkit в приложение Titanium.

Проблема с первым вариантом - но опять же, я не знаю, пока не смогу попробовать это на iPhone - заключается в том, что я предполагаю, что оба приложения (мое и CliqCliq's) не могут работать одновременно. Даже если бы у меня было скрытое окно, невидимый iFrame и т. Д., В тот момент, когда он запускает QuickPic, я предполагаю, что мое приложение будет закрыто (?).

Проблема со вторым вариантом заключается в том, что я не имею понятия о том, как включить средство выбора файлов в мое приложение с помощью Titanium (имея в виду всех, кого я знаю очень мало). Брайан из CliqCliq даже предложил дать мне код, если я не могу заставить работать средство выбора файлов Apple, но опять же, я не уверен, что делать дальше.

Что вы, ребята, думаете? Какой самый лучший метод? И что проще всего сделать простому человеку?

Спасибо.

1 Ответ

1 голос
/ 03 марта 2010

<input type="file"> не поддерживается на iPhone. Вам нужно будет использовать API-интерфейсы Titanium, в частности Media * (openPhotoGallery или showCamera).

Как примечание, Apple, как сообщается, отклоняет приложения, которые являются просто веб-просмотром, отображающим веб-сайт. Возможно, вы захотите поместить большую часть кода приложения в локальное хранилище и использовать AJAX для извлечения контента.

...