Рубрика «iOS» - 123

На это неделе мы узнали как стать ниндзя Xcode, возмутились политикой Google Play, рассмотрели ему альтернативы, научились делать прототипы и встраивать планшет в автомобиль. Мобильная разработка не затихает даже в жарком августе!

Полезные материалы для мобильного разработчика #65 (4 10 августа)Читать полностью »

Компания, в которой я работаю, разрабатывает ПО на заказ, в том числе мобильные приложения на базе Android и iOS. В связи с тем, что конкуренция в этом сегменте рынка довольно высока, тестировщики не только отвечают за соответствие конечного продукта спецификациям и ожиданиям клиента, но еще и поставлены в жесткие рамки по бюджету и срокам тестирования. Это побуждает нас исследовать новые инструменты и методы, которые позволили бы нам уменьшать затраты на тестирование и повышать качество продуктов.

Imagrium — это результат одного из таких исследований. Технически это Jython фреймворк для кросс-платформенного тестирования мобильных Android/iOS приложений с помощью распознавания изображений, написанный нашей компанией. Он представлен в виде рабочего PyDev проекта, который вы можете изменить под свои нужды. Код распространяется под MIT лицензией и доступен на Github. В этой статье я расскажу о принципах работы фреймворка и его устройстве.
Читать полностью »

О блоках в ObjC и правильной работе с ними написано очень много, в том числе и на хабре. Вопрос о том, как правильно работать с self в блоках, чтобы избежать циклических ссылок, регулярно задается на собеседованиях. При использовании таких фреймворков, как ReactiveCocoa количество блоков в коде сильно возрастает, при этом увеличивается шанс допустить ошибку и потерять в памяти объекты. Про попытку окончательно решить эту проблему, метапрограммирование для с99 с экстеншнами и блоками + хипстерсткие макросы с @ под катом.
Читать полностью »

Выбирая тему для этой статьи, я находился под впечатлением от общения с замечательным и, что не маловажно, бесплатным приложением для создания собственных приложений для iPad и iPhone – AppArchitect (http://apparchitect.com/).
Что касается Jabber Guest – он как нельзя лучше подходит для задачи – продемонстрировать как просто выполнить видеосоединение с мобильного устройства без необходимости получения аккаунта или регистрации.
Но сначала, в двух словах, – что же такое Jabber Guest ™

Как известно, Jabber у Cisco – обобщенное наименование для унифицированного многофункционального программного клиента, существующего на разных платформах и позволяющего осуществлять различные типы коммуникаций (IM, голос, видео и т.д.)
Все эти клиенты привязаны к инфраструктуре: предприятия или облачной.
Jabber Guest не исключение, но поскольку его основное назначение – обеспечение коммуникаций между сотрудником корпорации и внешним, не аутентифицированным пользователем, – он нам подходит как нельзя лучше. (конечно же у Cisco в корпоративной сети установлены необходимые для работы Jabber Guest сервера)

Ролик, иллюстрирующий работу Jabber Guest

Как это работает? Необходим Call Manager (ну как же без него), связка серверов Expressway Core и Edge (бесплатное решение от Cisco для предоставления удаленного доступа устройствам, регистрирующимся на CUCM) и сервер Jabber Guest. Все компоненты решения поставляются в виде виртуальных машин для инфраструктуры VMware.

image

Читать полностью »

Чем запомнилась прошедшая неделя: Яндекс объяснил, как проверять безопасность мобильных приложений, глава Минкомсвязи предложит Apple раскрыть свои исходные коды, сама Apple открыла iAd в России и собственную CDN по всему миру, Intel обновил XDK, Wooga объяснила, как попасть в мобильные топы. Все это и многое другое в еженедельном дайджесте материалов о мобильной разработке.

Полезные материалы для мобильного разработчика #64 (28 июня 3 августа)Читать полностью »

Преамбула

Я работаю в компании, которая делает достаточно большое и, не побоюсь этого слово, громоздкое мобильное приложение с солидной для мобильного приложения историей в несколько лет и, соответственно с довольно солидным и монструозным кодом.
Поток пожеланий от заказчика разнообразен и обилен и в связи с этим время от времени приходится вносить изменения даже в те места, которые для этого, вроде как, не предназначены. Некоторые, возникающие при этом проблемы — регрессионные баги — доставляют время от времени немало сложных часов.
При этом, по тем или иным причинам на проекте существует лишь ручное тестирование и довольно внушительного количество тестировщиков, а довольно наивные попытки автоматизации оного остались лишь на уровне нескольких довольно тривиальных юнит-тестов на уровне «Hello world».
В частности — у отдела тестирования есть внушительный цикл тестов для поиска регрессии, который проводится достаточно регулярно и занимает приличное количество времени. Соответственно, однажды возникла задача как-то оптимизировать этот процесс. Об этом и пойдет речь.

Честно, я не помню, какие средства для автоматизированного приемочного тестирования я смотрел и почему они мне не подошли. (Буду очень благодарен, если кто-то в комментариях подскажет интересные варианты решения этого — наверняка я пропустил что-то очень стоящее) Одно могу сказать точно — так как наше приложение, фактически тонкий клиент — очень многие кейсы невозможно(ну или как минимум, я не знаю как) покрыть юнит-тестами и нужно что-то еще. Так или иначе было решено написать свою библиотеку для автоматизации приемочного тестирования.
Читать полностью »

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

Actionscript 3 был выпущен в 2006. А уже в 2010 люди начали называть его мертвым (и это спустя 4 года после его появления) и продолжают делать то же самое еще на протяжении 4 лет.

image
Читать полностью »

На этой неделе раскрылась интересная история о недокументированных процессах на iOS-устройствах, Хабр дружно разбирался, за что могут заблокировать разработчика в Google Play, вышел новый отчет Developer Economics, наконец, Yahoo купила Flurry — консолидация на рынке инструментов для разработчиков набирает обороты.

Полезные материалы для мобильного разработчика #63 (21 26 июля)Читать полностью »

Apple не следит, а помогает пользователям, с помощью скрытых сервисов на мобильных устройствах
Недавно Джонатан Здзиарски (Jonathan Zdziarski), на конференции Hackers On Planet Earth в Нью-Йорке, опубликовал доклад, в котором рассказал о нескольких скрытых, не документированных фоновых процессах, запущенных на всех iOS-устройствах. Эксперт предположил, что эти функции нужны Apple для того, чтобы организовывать слежку за пользователям при поступлении запросов от властей.
Джонатан Здзиарски, также известный как NerveGas, принимал активное участие в разработке джейлбрейков для первых моделей iPhone. Он автор нескольких книг по разработке приложений для iOS. Т.е. человек явно «в теме».
Удивительно, что Apple не проигнорировали этот доклад, а описали задачи каждого процесса. Для чего, по их мнению, служат эти сервисы.

Читать полностью »

Делаем красивый Progress Bar в iOS приложенииДобрый день!

В этой статье я хочу описать способ, при помощи которого мы сделали такой красивый кастомный progress bar — на иллюстрации — в одном из последних проектов.

Задача была поставлена следующим образом:

  • Картинки были нарисованны дизайнером.
  • Progress bar должен перекрывать и блокировать весь UI.
  • Элемент должен вызываться нотификацией в NSNotificationCenter.
  • Должна быть возможность досрочно завершить действие элемента.
  • Progress bar должен быть один, вне зависимости от количества посланных нотификаций.

Заинтересовавшихся в реализации прошу под кат.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js