Обновить
65.38

iOS *

Мобильная ОС компании Apple

Сначала показывать
Порог рейтинга
Уровень сложности

Тестирование в Яндексе. Что мы узнали о фреймворке Appium, и можно ли его применять для серьёзных задач

Время на прочтение12 мин
Охват и читатели51K
В мире тестирования программного обеспечения набирает обороты совсем молодое направление — автоматизация тестирования мобильных приложений. И ожидаемо, что как грибы после дождя стали появляться соответствующие инструменты: Calabash, iOS Driver, Robotium, Selendroid, Appium. И именно про наши эксперименты с последним в мобильном тестировании я и хочу рассказать.

В последнее время Appium часто упоминают на конференциях и тут, на Хабре, было уже несколько постов о нем. Это фреймворк с открытыми исходным кодом, написанный на JavaScript и предназначенный для автоматизации тестирования мобильных приложений. По сути, это Selenium WebDriver, но для мобильных приложений. Appium позволяет управлять Safari и Chrome на соответствующих устройствах, а значит, и тестировать под ними веб-сайты, но обзор этих возможностей и нюансов, связанных с ними, — отдельная тема.

Чтобы уберечь вас от тех шишек, которые мы сами набили, работая с Appium, я хочу рассказать вам о том, с какими особенностями фреймворка мы столкнулись, какие у вас могут возникнуть трудности и как с ними справиться.
Читать дальше →

Как бросить кости без OpenGL

Время на прочтение3 мин
Охват и читатели24K
image

Необязательное вступление
Разработчики приложений под iOS зарабатывают не на собственных творениях, а на сторонних заказах. Создав себе имя славного парня, который творит чудеса с iPad-ом, рано или поздно Вы будете получать предложения от знакомых своих знакомых.
-Алло! Напиши что-нибудь под iOS.


Позвольте несколько советов.
Если, по Вашему мнению, работы более чем на две недели, отказывайтесь.
Если на неделю — соглашайтесь за $5000.
Если на 2 дня — за $1000.

Еще одно правило — чем ближе круг знакомств с заказчиком — тем выше гонорар. С близкими друзьями — 100% предоплата.
Поверьте, в этом случае число мусорных проектов резко уменьшится, а уважение к Вам резко возрастет.


Один хороший человек захотел сделать электронную книгу под iOS, коллекцию афоризмов. Фразы вылетают случайно, данные предоставлены в формате комма сепарейтед валью. С флешкой и устным ТЗ он пришел к другу-программисту. Программист оценил примерный объем работы
  • Конвертируем данные в sqlite;
  • Заводим три UIView (левый, правый и центральный);
  • В каждый UIView добавляем UITextView и UILabel;
  • Обрабатываем нажатие touchesBegin для листания афоризмов вправо-влево;
  • Добавляем кнопку — показать случайный афоризм.
  • Добавляем закладки.
  • Получаем 1000 долларов США


Работы на 2 дня, программист согласился.
Однако в ТЗ было еще одно условие — при случайном выборе афоризма по экрану должен кататься игральный кубик. Самый обыкновенный, из шести граней.
Читать дальше →

Газовый шейдер в Cocos2d

Время на прочтение5 мин
Охват и читатели11K
Добрый день.
Хотела поделиться своим небольшим опытом оптимизации шейдеров на IOS, и по возможности услышать дельные советы на этот счет. Вроде бы есть прекрасный инструмент OpenGl ES 2.0, и можно сделать неплохие эффекты, но при этом получить более-менее вменяемый fps не всегда получается.


Читать дальше →

Swift хакатон по мотивам WWDC 2014 от CocoaHeads Moscow

Время на прочтение2 мин
Охват и читатели6.1K

На всемирной конференции разработчиков (WWDC 2014), проходившей в этом месяце, компания Apple порадовала самым крупным обновлением SDK с момента его релиза в 2007 году. Представлено более 4000 новых API, в том числе Extensions, CloudKit, Adaptive View Controllers, новые фреймворки HomeKit, HeathKit, Metal, а также собственный язык Swift. Такое разнообразие технологий даёт отличный повод Cocoa разработчикам собраться вместе и поработать над чем-то действительно новым.
Читать дальше →

Наш опыт ускорения приложений на iOS

Время на прочтение6 мин
Охват и читатели18K


Меня зовут Митя Куркин, я руковожу разработкой iOS мессенджеров Mail.Ru Group. Сегодня я расскажу о нашем опыте ускорения приложений на iOS. Высокая скорость работы очень важна для 99% приложений. Особенно это актуально на мобильных платформах, где вычислительные мощности и, соответственно, заряд аккумулятора весьма ограничены. Поэтому каждый уважающий себя разработчик стремится оптимизировать работу своего приложения с целью устранения различных задержек, из которых складывается общее время реакции.
Читать дальше →

Swift: проблемы и перспективы

Время на прочтение4 мин
Охват и читатели38K
Второго июня 2014 года в мире Apple случилось то, чего не ожидал никто. Apple представила новый объектно-ориентированный язык программирования — Swift.

Чем может привлечь Swift?
В отличие от Objective-C, в котором для каждого класса необходимо создавать файлы *.h и *.m с интерфейсом и реализацией соответственно, в Swift нужно создать лишь один файл *.swift, в котором содержатся и интерфейс, и реализация. Это значит, что исходных файлов в проекте будет в 2 раза меньше, что является плюсом. Однако возникает вопрос — как же разделить свойства класса и методы на публичные и приватные? В Objective-C мы привыкли «прятать» приватные свойства и методы в *.m файлы. Сделать это в Swift на данный момент невозможно.
Читать дальше →

Создание оффлайн карты для iOS приложения

Время на прочтение4 мин
Охват и читатели20K


Доброго времени, дорогие Хабровчане!

В этой статье я расскажу о том, как реализовать оффлайн карты.

Дисклеймер. Статья не является пиаром чего-либо. Данный вариант реализации был выбран мною как самый оптимальный и я бы хотел поведать о нем в доступной форме.
Спасибо!

Предыстория


При разработке гид приложения для Гонконга, возникла нужда в использовании оффлайн карт. Google карты, к сожалению, не предоставляют такой возможности, так что, из за безысходности пришлось использовать такой сервис как MapBox, точнее расширение для iOS — MapBox-ios-sdk.

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

iOS. Приемы программирования

Время на прочтение1 мин
Охват и читатели16K


Всем привет!
Полгода мы работали над новым изданием книги “ iOS 7 Programming Cookbook” и вот наконец-то книга вышла в свет. Как обычно для хабра-сообщества действует скидка 30% на электронное издание. Код купона — 9963c7ab, акция действует до 7 июля.
Читать дальше →

Новый Nimbus Note — ещё быстрее и удобнее

Время на прочтение2 мин
Охват и читатели5K
Не так давно мы представили первую версию нашего приложения Nimbus Note для платформы iOS. Мы получили довольное большое количество отзывов — от положительных до резко отрицательных (и даже грубоватых :) ) Сегодня я готов представить вам новую версию нашего приложения, где мы постарались учесть (и исправить) все наши ошибки, а также добавили немало и новых функций, таких как: создание аудио и видео заметок, поддержка Fleksy клавиатуры, быстрое редактирование заметок и многое другое.

Скачать Nimbus Note — itunes.apple.com/us/app/nimbus-notes/id828918459?l=uk&ls=1&mt=8

image

Читать дальше →

Полезные материалы для мобильного разработчика #58 (16-22 июня)

Время на прочтение3 мин
Охват и читатели18K
Две главные новости этой недели — первый смартфон Amazon и прорыв приложения Yo на вершины App Store (с попутным получением инвестиций в $1 млн). Кроме того есть интересное описание Metal API, исследование приложений банков от UsabilityLab, занятный визуальный анализ Топ-500 самых кассовых приложений для Android, несколько новых инструментов.

Читать дальше →

Приложение «Yo», попавшее в топ-10 приложений App Store в США, взломано студентами колледжа

Время на прочтение1 мин
Охват и читатели43K


Только вчера на Хабре публиковалась новость о простеньком приложении «Yo», которое внезапно стало популярным. Это приложение попало в топ-10 приложений App Store в США, плюс получило 1 млн долларов США инвестиций.

Приложение отметил даже Элон Маск, назвавший его лучшим мессенджером (это сообщение уже потерто, но Интернет помнит все, да):

1-bR9rKEDjdgD0qmRxonbHfA

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

Читать дальше →

Простейшее приложение, отправляющее контактам слово «Yo», заработало 1 млн долларов и попало в топ-10 приложений App Store в США

Время на прочтение1 мин
Охват и читатели67K


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

Похоже на то, что пользователям нужно не так и много. Дело в том, что на днях приложение «Yo», отсылающее соответствующий возглас/сообщение своим контактам, вошло в топ-10 самых популярных приложений в App Store (США). Плюс ко всему, нашелся инвестор, вложивший в это приложение 1 миллион долларов США.

Читать дальше →

Интеграция PayPal Here в iOS-приложение

Время на прочтение3 мин
Охват и читатели7K
Работая над одним проектом, я столкнулся с необходимостью интегрирования PayPal Here в приложения. PayPal вообще никогда не шел на встречу разработчикам, интегрироваться было достаточно сложно, но с PayPal Here дело обстоит несколько иначе (есть целый пример на gitHub’е). Одним словом, если вы владелец интернет-магазина, интернет-аукциона или вообще хотите проводить оплату в своем приложении, то вам будет интересно почитать о том, как можно интегрировать PayPal Here в iOS.

image

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

Читать дальше →

Ближайшие события

Просто UBANK в кармане: как это было сложно

Время на прочтение5 мин
Охват и читатели19K
Для нашего первого поста на «Хабре» основатель UBANK Лаура Ашижева написала саморазоблачительный текст о том, почему все в мире так сложно, хотя все кругом, включая нас, стремятся к простоте



Сделать самый революционный сервис — то же самое, что сделать самый простой.

Сегодня это очевидно, кажется, всем. Поэтому каждый стартапер берется за дело, намереваясь сотворить штуку, в которой все ясно с первого взгляда и все в один клик. И почти каждый заканчивает одинаково: столько всего наворачивает, что только самый упертый пользователь может продраться через все преграды, возведенные на его пути.

Вот и наша история — наглядная иллюстрация этого парадокса.
Читать дальше →

Полезные материалы для мобильного разработчика #57 (8-15 июня)

Время на прочтение3 мин
Охват и читатели15K
На этой неделе мы продолжили изучать Swift, вышла русская версия отчета о разработке приложений для «подключенных» автомобилей, Apple начала пока не совсем понятную борьбу с поощрением просмотра рекламы и социальных постов в приложениях, Samsung объявил конкурс приложений для Tizen с призовым фондом в 7 млн рублей. Кроме того, в дайджесте я стал учитывать рейтинг постов — теперь вы можете видеть их популярность прямо в списке.

image
Читать дальше →

Плагин для Xcode, автоматически проверяющий accessibility интерфейсов в iOS: раздача бесплатных бета-версий

Время на прочтение1 мин
Охват и читатели7.3K
Компания «Deque Systems» представила бета-версию WorldSpace Xcode Plugin, который интегрируется в Xcode и автоматически анализирует исходный код проекта на предмет правильного указания всех атрибутов доступности. Плагин также предоставляет контекстную справку по методам решения тех или иных проблем accessibility в iOS. Кроме того, он может быть встроен в Continuous Integration.

С помощью этого инструмента можно легко включить поддержку VoiceOver в процесс разработки на постоянной основе, так как он позволяет нажатием пары кнопок отловить базовые проблемы невизуальной доступности интерфейса. Плагин использует растущий набор правил, основанных на базе критериев стандарта WCAG 2.0.
Читать дальше →

Встреча днепропетровского iOS Practice Leaders Community, посвященная Unit Testing iOS, 19 июня

Время на прочтение1 мин
Охват и читатели4.9K
Следующий четверг, 19 июня будет воистину жарким во многих офисах компании Ciklum. На этот раз мы порадуем днепропетровскую аудиторию, интересующуюся разработкой iOS приложений.
Мы приглашаем всех желающих присоединиться к первой встрече iOS Practice Leaders Community, посвященной модульному тестированию.
image
Читать дальше →

iBeacon: Руководство к действию

Время на прочтение3 мин
Охват и читатели20K


iBeacon является новой технологией, которая построена на основе Bluetooth Low Energy или BLE. Пока iBeacon более всего ассоциируется с Apple. Начиная с 2013 года iBeacon встроена в Apple iOS 7. Впервые пилотный проект был запущен в магазинах Apple в декабре 2013 года и в 2014 году ожидается существенное расширение использования технологии — via Wi-Life

Добрый день, дорогой Хабрахабр!

Сегодня мы познакомимся с реализацией функционала BLE под iOS на основе iBeacon-девайсов от Roximity. Поискал, поспрашивал, пошерстил, вроде как, никто так и не писал о практической стороне вопроса в рунете. Статью делю на две части: про настройку на серверах Roximity и про подкапотную приложений.

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

Разбираемся с NSURL / NSURLComponents

Время на прочтение5 мин
Охват и читатели14K
От переводчика: В свете последних событий быть разработчиком на Objective-С стало уже не так модно, некоторые уже бегут сдавать его в утиль, но я считаю, что это делать еще рановато, потому позволю себе поделиться переводом. Начав читать оригинал, не ждал ничего нового в, казалось бы, простой и очевидной теме, но в итоге вынес достаточно полезных моментов.

Читать дальше →

Разработка iOS8 приложения на Apple Swift

Время на прочтение6 мин
Охват и читатели62K
Статья является своеобразным продолжением статьи «Знакомьтесь, Swift!» за авторством Helecta, а также вольным переводом статьи Developing iOS Apps Using Swift Tutorial Part 2.



Итак, в первой статье мы написали простое Single View приложение, включающее таблицу с несколькими ячейками.
На этот раз мы немного углубимся и сделаем несколько более амбициозных вещей. Мы будем обращаться к API поиска iTunes, парсить ответ, полученный в JSON и отображать результаты в Table View.
На первый взгляд может показаться, что все это довольно сложно и предстоит много работы, но на самом деле это не так. Все описанное выше является достаточно простым функционалом для iOS приложений и каждый уважающий себя iOS разработчик должен это уметь.
Читать дальше →