LINUX.ORG.RU
ФорумJob

Создать приложение для iPad: офлайн показ виртуальных туров

 ,


0

1

Привет!

Для понимания сути:
Скачайте под вашу любимую ОС:
http://krpano.com/download/ (1.18.5)
Распакуйте. Запустите examples/examples.html
Это пример виртуального тура.

Нужно создать приложение для iOS (можно нацеливаться только на 7-8 версию, можно забить на айфоны и делать только под айпад) способное все это воспроизводить локально, без подключения к интернету. Лишь предварительно выкачав контент в себя. При этом было бы еще круче, если бы контент можно было положить через айтюнс. Например, как это можно сделать с 2gis или documets (приложение такое).

Нюансы:
Сам тур уже использует js (без него не будет работать). Но в тур будет добавлен и еще js функционал.
Кстати, об этом же есть ветка на сайте разраба: http://krpano.com/docu/js/#top

Если возможно:
То хотелось бы без публикации в апсторе. Но как тогда его ставить?
Заказчик не хотел бы клоунады в духе «нафиг никому не нужное приложение в апсторе». Т.к. приложение и контент (виртуальные туры) нужно только для торговых представителей.

Почта в профиле.

PS
Michael Kuryshev,
ping



Последнее исправление: dk- (всего исправлений: 1)

Заказчик не хотел бы клоунады в духе «нафиг никому не нужное приложение в апсторе». Т.к. приложение и контент (виртуальные туры) нужно только для торговых представителей.

Если софт предполагается использовать для внутренних нужд компании (торговые представители – это сотрудники компании, как я понял), то можно заюзать механизм Enterprise Distribution, приложение можно ставить, выкладывая на сайте специальным образом или же через iTunes, скормив ему дистрибутив.

mono ★★★★★
()
Ответ на: комментарий от i-rinat

Не. И кжшей как раз всячески избегаем.

dk-
() автор топика
Ответ на: комментарий от dk-

300 баксов хочет.
Но для этого нужно быть энтерпрайз акк, который можно зарегать только на фирму

Deleted
()
Ответ на: комментарий от Deleted

А на ИП можно?
А потом разные проекты вести там?
А разным заказчикам разный доступ можно дать? Чтоб сами заливали? Или нет?
300 в год?

dk-
() автор топика

а если поднять на ябблодевайсе веб-сервер, откуда будет отдаваться панорама с локалхоста?

Harald ★★★★★
()
Ответ на: комментарий от dk-

На ИП можно, но необходимо, чтобы этот ИП как-то попал в какую-то там базу, те нужен индивидуальный DUNS.
Насчет заказчиков, думаю, это возможно. На аккаунте может быть не больше 100 приложений.
300 баксов разово.

Deleted
()
Ответ на: комментарий от dk-

Регистрироваться должен сам заказчик, т.е та контора которая собирается распространять приложение внутри себя.

mono ★★★★★
()
Ответ на: комментарий от dk-

енджой ёр проприетарщина )

хотя технически конечно реализуемо

мож в аппсторе кто-нибудь апач упаковал и продаёт, можно поискать

Harald ★★★★★
()
Ответ на: комментарий от dk-

Если через себя, то нет никакого смысла с Enterprise-программой заморачиваться. Распространять либо через AppStore, либо через TestFlight.

mono ★★★★★
()
Ответ на: комментарий от dk-

Гм, а на github есть проекты, которые http-server реализуют.

https://github.com/swisspol/GCDWebServer
https://github.com/robbiehanson/CocoaHTTPServer

Т.е, можно завернуть в приложение этот самый сервер + WebView, и всё готово. Контент заливать через документы в iTunes. Всё элементарно.

mono ★★★★★
()
Последнее исправление: mono (всего исправлений: 1)
Ответ на: комментарий от mono

Ну я примерно так и хочу). Кто бы взялся.

dk-
() автор топика
Ответ на: комментарий от mono

А без джейла подобное реально?
Контора большая. Никто не будет в куче мест заморачиваться с разлочкой планшетов.

dk-
() автор топика
Ответ на: комментарий от entefeed

Работу может делать линуксоид и средства разработки частично иметь под линуксом.
макось\иось - сертифицированные юниксы, в отличие от.

Это раздел про работу, а не срач про системд.

dk-
() автор топика
Ответ на: комментарий от dk-

Давай тут может еще водопроводчиков и сантехников набирать, ага?

системд

Вендузятник-макофаг больше ничего не знает. Ясно.

entefeed ☆☆☆
()
Ответ на: комментарий от entefeed

Гордый профи линуксоид не возьмет заказ написать под иось для вендузятника? Ты серьезно? Это клоуны буду ко-ко-ко разводить. А профи возьмут и сделают. Если о цене договоримся.

dk-
() автор топика
Ответ на: комментарий от mono

гм, мы под второй айпад писали что-то подобное оно просто могло работать в браузере, но были какието ограничения которые вынудила писать нативное.

в общем вот: https://developer.apple.com/library/ios/documentation/AppleApplications/Refer...

Deleted
()
Ответ на: комментарий от dk-

увы, для этого нужен девайс а у меня даже знакомых с этими штуками нет 8), на лоре полно яблочников я думаю правильно выкурив доку они справятся, там собственно (как я помню) задача написать манифет чтобы все что нужно кешировалось на устройстве и сделать закладку (или что там, блин?) так чтобы юзер мог легко открыть это. Но это теория я не видел сие со времен второго айпада повторюсь.

mono вроде как писал свои приложения под айпад а значит имеет и устройство и опыт, возможно прочитав ссылку скажет правильны ли это вообще путь.

Deleted
()
Последнее исправление: Deleted (всего исправлений: 1)
Ответ на: комментарий от Deleted

Не Москва же?(
Отдал бы гейпад.

Куда в Рунете податься с заказом?

Кэшировать из сети? Вообще не вариант.

dk-
() автор топика
Ответ на: комментарий от dk-

Не москва - краснодар.

Кэшировать из сети? Вообще не вариант.

ну там по в теории это работает как - один раз зашел на сайт оно незаметно скачалось и потом интернет не нужен, как на практике не знаю.

Deleted
()
Последнее исправление: Deleted (всего исправлений: 1)
Ответ на: комментарий от dk-

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

https://en.wikipedia.org/wiki/Cache_manifest_in_HTML5

http://stackoverflow.com/questions/19768899/cache-manifest-cache-all-files-in...

и т.пю

Deleted
()
Последнее исправление: Deleted (всего исправлений: 1)
Ответ на: комментарий от dk-

щас спецом поднял на своем сервере, сгенерил манифест на андроиде - все нормально кешируется.

С точки зрения юзера:

- заходишь на сайт (если доработать он показывает что можно все выкачать разом, но у меня он тупа молча начинает качать)

- через минуту он сообщает юзеру что все выкачалось (у меня alert)

- юзер создает значек на домашнем экране (в фф андроида это так называется)

- отключает интернет

- клик по значку открывается примеры и все туры (ну тот что с гравицапой, с активными зонами, с логотипом в надире и т.п.) работают

можешь погонять на ипаде: http://178.62.246.249/krpano-1.18.5/examples/examples.html

манифест генерируется так, в директории '/krpano-1.18.5':

echo "CACHE MANIFEST" > manifest.appcache ; find . -type f | while read file;do echo "/krpano-1.18.5/${file:2}"; done >> manifest.appcache

если такой подход устроит то не парь моск, хватай перцев которые тебе допиливали krpano они тебе накидают туда кнопочек и гламурщины типа кнопочки «сохранить тур в браузере» и т.п.

Deleted
()
Ответ на: комментарий от Deleted

Фак. Надо до айпада доехать и его зарядить.

Вопрос:
Ты же понимаешь, что каждая панорама в туре - адское количесство мелких жипегов. 3-4 слоя детализации (+ превью)? Т.е. если речь идет о том, что бы вручную протись 360*180 по каждой панораме в каждом слое детализации и открыть каждую карточку продукта (в туре раскиданы страницы), то всяко что-то пропустится и выйдет феил.

Или ты уже прям проверил что работает?
Можешь на андроиде протестить такое на одном из мелких туров с моего сайта?

хватай перцев которые тебе допиливали krpano

да я сам его пилю. так шта вставленное тобой в тег кода не знаю как жрать = )

dk-
() автор топика
Ответ на: комментарий от dk-

Т.е. если речь идет о том, что бы вручную протись 360*180 по каждой панораме в каждом слое детализации и открыть каждую карточку продукта (в туре раскиданы страницы), то всяко что-то пропустится и выйдет феил.

зачем вручную? яж уже писал что там файлик который тупо содержит в себе имена _всех_ _файлов_ которые содержатся в твоем приложении, браузер берет и _все_ эти файлы скачивает кудато себе (хром причем не в кеш ибо при очистке кеша оно остается в отличие от фф).

когда отключаешь от инета браузер делает вид что ничего не произошло, единственно что надо начало скачивания сделать опциональным, а в конце както мигнуть юзеру.

Или ты уже прям проверил что работает?

яж писал (аа не писал оказывается) что проверил на фф в андроиде на смартфоне (еще проверил на десктопных браузерах)

Можешь на андроиде протестить такое на одном из мелких туров с моего сайта?

мнеж сначала надо выкачать все его файлы чтобы сгенерировать mainfest, а я уверен что ребята из krpano не стали облегчать эту задачу.

да я сам его пилю. так шта вставленное тобой в тег кода не знаю как жрать = )

это скрипт для баша, возможно для макоси тоже будет работать, но там в принципе пофиг - тупо список файлов и загловок большими буквами в первой строке

Deleted
()
Последнее исправление: Deleted (всего исправлений: 2)
Ответ на: комментарий от Deleted

яж уже писал что там файлик который тупо содержит в себе имена _всех_ _файлов_

Такой список можно родить. Я частично криптую туры публикуемые для всех, но этот список не проблема. Сами тайлы сцен идут примерно так:

	<scene name="scene_04-01" title="Территория" onstart="" thumburl="panos/04-01.tiles/thumb.jpg" lat="" lng="" heading="">

		<view hlookat="0.119" vlookat="0.891" fovtype="MFOV" fov="90.491" maxpixelzoom="1.0" fovmin="70" fovmax="140" limitview="auto" />

		<preview url="panos/04-01.tiles/preview.jpg" />

		<image type="CUBE" multires="true" tilesize="512">
			<level tiledimagewidth="3840" tiledimageheight="3840">
				<cube url="panos/04-01.tiles/%s/l3/%v/l3_%s_%v_%h.jpg" />
			</level>
			<level tiledimagewidth="1792" tiledimageheight="1792">
				<cube url="panos/04-01.tiles/%s/l2/%v/l2_%s_%v_%h.jpg" />
			</level>
			<level tiledimagewidth="1024" tiledimageheight="1024">
				<cube url="panos/04-01.tiles/%s/l1/%v/l1_%s_%v_%h.jpg" />
			</level>
		</image>

		<!-- Хотспоты -->
		<hotspot name="spot1" style="skin_hotspotstyle" ath="-9.322" atv="0.000" linkedscene="scene_04-05" />
		<hotspot name="spot2" style="skin_hotspotstyle" ath="84.746" atv="0.000" linkedscene="scene_04-07" />

		<!-- Маркеры -->	
		<hotspot name="mark_01" style="mark-p" ath="-32.874" atv="-6.499" linkedarticle="article_02" />
		<hotspot name="mark_02" style="mark-p" ath="27.612" atv="1.264" linkedarticle="article_69" />

	</scene>


единственно что надо начало скачивания сделать опциональным, а в конце както мигнуть юзеру.

Ну для торговых можно создать отдельное закрытое зеркало, с которого оно так выкачается.

Вообще если гейось сможет также закешировть _КАЖДЫЙ_ файл и не лезть за ним в инет, то это было бы круто.

dk-
() автор топика
Ответ на: комментарий от dk-

ты короче проверь на том что есть, если работает как надо то список сгенеришь хоть тоталкоммандером хоть скриптом на cmd

вот тот список что у меня http://178.62.246.249/krpano-1.18.5/manifest.appcache

потом его указываешь в страничке:

<html manifest="/krpano-1.18.5/manifest.appcache">

единственно надо сервер еще настроить чтобы manifest.appcache отдавал с правильным mimetype

после этого уже должно работать, но еще надо както показать пользователю что все скачалось: для этого надо поколхозить на js

Deleted
()
Ответ на: комментарий от Deleted

Позже затестю.

Хотя не совсем еще догнал как. Тупо зайти сафари по твоей ссылке и оно само?

Если взлетит, с меня как нинимум пузырь:)

dk-
() автор топика
Ответ на: комментарий от dk-

Тупо зайти сафари по твоей ссылке и оно само?

да, оно минуту-две зависит от инета должно покачать, потом показать alert c 'Cache status: IDLE' (есено тебе надо будет сделать какойто нормальный вариант а не такой колхоз) - после этого у меня оно уже работает в режиме полета (без инета то бишь), есессно открываются даже те туры которые я никогда не открывал.

Deleted
()
Последнее исправление: Deleted (всего исправлений: 1)
Ответ на: комментарий от Deleted

Белк, ты мой герой!

На гейфоне сработало!

При загрузке выдало Cache status: IDLE

Потом я закрыл окно. Перевел в режим полета, опять открыл окно.

При начале показа оно дважды выдало мне Cache status: FAILED, предлагая нажать «ок», но потом все подгрузилось и заработало! крутотень!

Как в линуксе получить список все-всех файлов каталога?) У меня хостинг то линуксовый, можно протестировать.

А срок тухлости этого кэша задается же?

А какие подводные камни?

dk-
() автор топика
Ответ на: Белк, ты мой герой! от dk-

Как в линуксе получить список все-всех файлов каталога?)

man ls блеа, ls -lR если рекурсивный список с подкаталогами нужен

столько лет на ЛОРе, даж даты регистрации нету :)

Harald ★★★★★
()
Ответ на: Белк, ты мой герой! от dk-

Белк, ты мой герой!

чего-то подумалось, интересно, какого пола белки на твоей и на его аватарке...

Harald ★★★★★
()
Ответ на: комментарий от dk-

это все настраивается, по хорошему там жабаскриптом делается проверка и сброс кеша - все это есть в документации, но я это все первый раз вижу 8)

Deleted
()
Ответ на: Белк, ты мой герой! от dk-

При начале показа оно дважды выдало мне Cache status: FAILED, предлагая нажать «ок»,

а это я туда скрипт сунул кривой, надо тестировать и фиксить,

про список файлов я тебе выше кидал код - отот самый первый

срок тухлости ипрочее задается жабаскриптом который обрабатывает события кеша (он у меня и выдает этот failed)

Deleted
()
Ответ на: комментарий от Harald

для его задачи именно find и нужен, там нужен линейный список путей к файлам (если вдруг окажется путь до директории или файла которого нет то все обломатется и качаться не будет, и браузеры это никак не показывают - это подлянка и я в нее уже вляпывался)

Deleted
()
Последнее исправление: Deleted (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.