Как стать автором
Обновить

Комментарии 15

Спасибо за гайд. Возможность писать нативные плагины это очень большой плюс Unity по сравнению с другими движками.
Без обид, но читать очень сложно из-за большого количества ошибок.
Чем вот это не устроило в данном конкретном случае?
Оно ведь откроет веб страницу в стандартном браузере, значит свернет игру итд. А в данном случае поверх игры покажется страница. При закрытии — сразу покажется игра.
И чем же это отличается от поведения при закрытии того же браузера? К тому же задача была в отображении «вашей личной странице при переходе по ссылке с главного меню игры». Просто городить огород и получать непереносимость проекта между платформами из-за такой мелочи как переход на домашнюю страницу — стоило ли оно того?
Если страница открывается в стандартном браузере — значит игра закрывается. Чтобы потом ее открыть — ее надо самому выбрать и открыть. Если вы делаете свое решение, как в этой статье, значит игра не закрывается.
Странно, разве закрытие выполняется не только в случае недостатка ресурсов ОС? Вроде процесс просто суспендится и при возврате пытается восстановить работу? Не силен в тонкостях работы данной платформы, но по идее должно работать именно так.
Попытался объяснить попроще, не получилось. Скажем так — игра уйдет в фон, и если между ее уходом в фон и повторным запуском не было тяжелых задач, и операционка не удалила ее из памяти из-за нехватки ресурсов, то она просто вернутся из фона и продолжит работу. Если же поверх игры показать собственными средствами страницу, то таких вопросов не возникнет.
Jihar правильно ответил. Если откроется нативный браузер игра уйдет в фон. Вы посмотрите страницу в браузере, закроете его, и перед вами будет рабочий стол, чтобы вернуться в игру необходимо будет найти ярлык игры и запустить ее заново (она из памяти загрузится), либо двойной клик по кнопке home и игру опять доставать из памяти. С браузера в игру назад вы вернуться не сможете, только через дополнительные действия (о даблклике по home так вообще не многие пользователи знают). Тем более что статья о том как в принципе подключать плагины, будь то нативный web view, интеграция с facebook и twitter встроенные в iOS ну или мало ли что еще может понадобиться
НЛО прилетело и опубликовало эту надпись здесь
По существу есть один комментарий — лучше WebController создавать из xib'а или Storyboard'а, там можно будет разместить кнопки, различные элементы интерфейса красивые итд. Там же можно будет связать действия при нажатии кнопок. Это избавит от создания и настройки кнопки из кода, и от утечки памяти (кнопку вы не удаляете).
Спасибо за совет, будет немного времени попробую ваш метод. Просто ради интереса захотелось попробовать создать все из кода (просто посчитал что лучше разберусь как работает iOS да и Obj-C, до этого какт только винда да C#, Java), да и изначально решил почему-то что проще создать из кода, чем разбираться как потом созданный в Storyboard'е проект скомпонавать в несколько .h и .m файлов, притом что бы все рендерилось вызовом одного метода.
Для браузера так лучше использовать готовые контролы, SVWebViewController например.
Я точно не уверен, но вполне вероятно, код на ARC тоже можно прикрутить к Unity проекту, если выставить соответствующие флаги для этих файлов.
Насчет готовых контролов вы скорее всего правы. Насчет ARC, его точно можно включить в уже собранном для xCode проекте, в «Project->BuildSettings->Apple LVVM compiler->Objective-C Automatic Reference Counting», но придется поубирать release'ы, dealloc'и, AutoreleasePool'ы которые заботливо расставляет Unity при сборке проекта. Также для выключения ARC в отдельных классах можно зайти в «Targets->UnityIPhone->Build Phases->Compile Sourses», найти там классы Unity которые вызывают ошибки и в «Compiler Flags» поставить у них "-fno-objc-arc". И также, как вариант, можно в собранном проекте выбрать «Edit->Refactor->Convert to Objective-C ARC». Ну и надо не забывать повторять выбранные деиствия если вы при сборке проекта из unity будете перезатирать старый проект.
Проще своим файлам прописать -f-obj-arc, и не трогать код который генерит Unity. Это даже можно автоматизировать используя github.com/CocoaPods/Xcodeproj если есть минимальные знания ruby)
Зарегистрируйтесь на Хабре , чтобы оставить комментарий

Публикации

Истории