Постепенно пытаюсь разобраться со сборкой проекта под Android и iOS. Кое-что получается, а кое-что пока вводит в ступор. Я знаю, что на форуме есть люди, которые разрабатывали/портировали что-то под мобилки, и возможно, уже решали проблемы, которые у меня возникают. Поэтому свои нубские (ну хочется надеяться, что не совсем уж прям нубские) вопросы буду писать сюда.
Сразу оговорюсь - работаю через консоль, т.к. у меня в проекте довольно высокая степень автоматизации сборки на мейкфайлах и скриптах. Никаких Android Studio, никакого XCode, только консоль, только хардкор. И т.к. мне не хочется иметь отдельные мейкфайлы для мобильных ОС, пытаюсь написать общий ветвистый мейкфайл, и не рассчитываю на стандартные средства SDK/NDK.
Пока возникает всего два, но очень важных вопроса:
1) Как вы запускаете юнит-тесты на эмуляторе? Возможно ли это сделать без упаковки специального "запускальщика" тестов в apk/bundle? Очень уж не хочется вводить этот этап в пайплайн... Может быть, есть команда типа "запусти эту консольную прогу на эмуляторе и выдай мне лог терминала"? Может быть, есть какие-то готовые решения (в идеале совместимые с Google Test/Google Mock)?
2) Как я понял, iPhone-emulator требует х86-билдов, а iPhoneOS - arm-билдов. А как обстоит дело с endianess? Могу ли я быть уверен, что на реальном устройстве программа будет работать в режиме Little endian? В противном случае я не понимаю, в чём смысл эмулятора, на котором нельзя протестить правильность endianess?
Не знаю как сейчас обстоят дела, но до выхода Swift если ты пользовался стандартными обёрточными классами структурами в Obj-C (все, что NS*), то компилятор/макросы за тебя всё делали. Если лез в низкоуровневым типам из C, то весь парсинг ложился на твои плечи. Ну и есть вот эти методы: https://developer.apple.com/documen...s?language=objc
DEAD MAN
Спасибо. Методы-то есть, вопрос в том, стоит ли вообще заморачиваться? Прошёл слух, что на iOS, как и на андроиде, всё уже давно Little Endian. Хотелось бы знать наверняка, чтобы не делать лишнюю работу.
А по юнит-тестам что скажешь? У вас есть CI? Что вы используете для их запуска?
Да, так и есть, последние версии иОС - little endian. Заморачиваться или нет, вопрос сложный и спорный, т.к. Аппл очень сильно любит ломать обратную совместимость с каждой новой годовой версии оси. С другой стороны, такие вещи как работа с Блутучем, ГПСом, Секьюрити фичами они могут поломать в любой момент, то низкоуровневые вещи трогают очень редко.
Насчёт юнит тестов ничего подсказать, увы, не могу, т.к. не занимаюсь ими вообще. Да и таких больших заказов для мобильных платформ у нас не было, чтоб ими заморачиваться. Пару лет назад только для Андрода, что-то делали, т.к. ТЗ требовало.
А что, теперь можно вот так просто закинуть исполняемый файл на телефон/эмулятор и исполнить его?
Вроде бы во времена моей молодости, когда я только начинал под андроид что-то делать, можно было только apk закидывать через adb install.
Ну так что, кто-нибудь знает, как наладить инфраструктуру юнит-тестирования под iOS? Желательно через консоль.
С андроидом почти разобрался, эмулятор неплохо управляется через командную строку, команды выполняются через adb shell, так же и юнит-тесты запускаются. Правда, пока не могу понять, как увеличить таймаут выполнения теста - во время выполнения тестов рендерера получаю device offline.
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
В среднем 20-25, но если встать в угол и смотреть через всю карту как на скриншоте, то да, падает до 5-7фпс.
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
a1batross
ДМ даёт сорцы паранойи 2 на порт? Хотя учитывая что на обычном ксаше спонза нехило так проседает, с шейдерами там вообще 1 фпс будет.
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!