Как стать автором
Поиск
Написать публикацию
Обновить
34.2

iOS *

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

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

Разработка русскоговорящего «аналога» Siri за 7 дней

Время на прочтение6 мин
Количество просмотров18K
После выхода iPhone 4S с Siri «на борту», владельцы остальных гаджетов Apple, чувствовали себя немного обделенными. Даже в свой новый iPad Apple не включила Siri. Разработчиками по всему миру были предприняты попытки портировать Siri на другие устройства или написать похожие аналоги. И только русскоязычный App Store хранил молчание. Наверно все разработчики очень заняты, подумал я, и решил исправить это досадное недоразумение…
Читать дальше →

Продвижение приложения в AppStore

Время на прочтение3 мин
Количество просмотров15K
В данной статье я постараюсь описать методы продвижения приложения для устройств на базе iOS. Таких методов существует множество, но я хочу рассказать о самых важных их аспектах.

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

Ускоряем проверку ваших iOS/Mac приложений в iTunesConnect с недели до одного дня

Время на прочтение3 мин
Количество просмотров42K

Проверка приложения, отправленного разработчиком на рассмотрение Apple Review Team в iTunesConnect в среднем занимает около недели, а если вам «повезло» и вы отправили ваше приложение около выходных или праздников, то процесс проверки и появление заветного «In Review» может затянуться на гораздо больший срок.
В данный статье я хочу описать два способа ускорения проверки iOS и Mac приложений в AppStore, работающих на сегодняшний день. Оба способа являются бесплатными.
Читать дальше →

Пишем клавиатуру для нестандартного ввода под iOS

Время на прочтение5 мин
Количество просмотров6K
Стандартная библиотека предоставляет для UITextField и UITextView несколько различных типов клавиатур, среди которых есть обычная, Email, URL (от обычной отличаются несколькими символами) и Phone (цифровая). Для большинства жизненных ситуаций этого достаточно, но не всегда.

Представим, что в приложении есть поле ввода, могущее принимать числа и арифметические выражения.

Phone клавиатуры нам будет недостаточно — нет точки, нет всех символов операций, и т.д.

Безусловно, все необходимое есть на обычной клавиатуре, однако в данном случае 95% ее использоваться не будет (напомним, нам нужны только цифры + символы арифметических операций).

Вывод напрашивается сам собой: нужно писать свою клавиатуру, ну вы знаете с чем!

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

Мгновенное изменение языка приложения

Время на прочтение9 мин
Количество просмотров33K
Мне бы хотелось рассказать об интересном опыте, приобретенном в процессе разработки бесплатного пока что конвертера валют, моего второго приложения в категории Finance. Первое, Money iQ, было написано во время работы в небольшой компании и даже успело побывать на 1м месте российского App Store. Небольшую dev story о создании приложения я опубликую чуть позже и в другом блоге, если будет интересно, а в этой статье мне хотелось бы остановиться на такой проблеме как мгновенное изменение языка внутри приложения.

Собственно, проблема.


Наверное, многим приходилось сталкиваться с мультиязычными приложениями. Я говорю не только о приложениях под iOS, а вообще о приложениях, поддерживающих несколько языков. Во из них в сеттингах есть пункт «Language/Язык/Idioma», позволяющий установить язык, нужный пользователю.

В разных ситуациях эта опция работает по-разному. В каких-то приложениях для установки нового языка приходится их перезапускать. В каких-то все случается мгновенно. О том, как осуществить второй подход при написании приложений под iOS, в статье и пойдет речь.
Читать далее...

Шокирующий Objective-C для Java программистов, часть вторая

Время на прочтение5 мин
Количество просмотров5K
Продолжаю краткий обзор особенностей Objective-C, удивляющих Java программистов (первая часть). Во второй части немного будет рассказано о философии языка, о поддержке пространств имен и о типе id. Судя по комментариям к первой части, необходимо немного пофилософствовать, поэтому обещанные свойства (property) переносятся в третью часть. Также узнаем какие вопросы задают в американских супермаркетах.

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

Руководство Apple «Как стать разработчиком под iOS»

Время на прочтение1 мин
Количество просмотров38K
Компания Apple приглашает новичков начать разработку своих приложений под iOS, и в помощь опубликовала руководство "Start Developing iOS Apps Today", где указаны все необходимые действия на каждом этапе, даются советы по выбору языка программирования, дизайну интерфейса приложения и максимизации прибыли в App Store.



Руководство очень лаконичное, всего несколько строчек на каждой странице, но содержит все необходимые ссылки для более подробного изучения темы. Очевидно, оно предназначено для тех, кто ещё никогда не программировал под iOS.

Появится ли клиент для rutracker.org в App Store или история незаконченной разработки

Время на прочтение3 мин
Количество просмотров7.5K
Добрый день Хабражители.
Не могу сказать, что я являюсь частым посетителем сайта rutracker.org, но сериал «Доктор Хаус» скачиваю регулярно. Процесс появления новых серий довольно непредсказуем и мне хотелось бы иметь возможность узнать с моего iPhone, появилась ли новая серия «Хауса» в раздаче и какие новые фильмы можно посмотреть. Использовать встроенный браузер «Safari» мне было неудобно, так и возникла идея написать приложение, которое бы дало возможность отслеживать новые раздачи. На сегодняшний день приложение все никак не может пройти ревю у цензоров apple, но борьба продолжается. Подробная история под катом.
Читать дальше →

Шокирующий Objective-C для Java программистов

Время на прочтение4 мин
Количество просмотров26K

О чем эта статья?


Два факта. В мире много Java программистов. Популярность Objective-C растет. Вывод: Java программист, изучающий Objective-C не такая уж редкость. Если знать ключевые различия между языками, то можно эффективно использовать существующие знания Java и быстрее начать писать на Objective-C.
Читать дальше →

Разработка виджета для центра уведомлений iOS

Время на прочтение7 мин
Количество просмотров6.9K


Notification Center — удобная и простая в использовании функция в iOS, но она ограничена лишь стандартными виджетами. Не секрет, что любители jailbreak уже давно пользуются сторонними твиками, но вот информации о их разработке практически нет. В этой статье я постараюсь это исправить и описать процесс создания на примере виджета для проверки баланса моего интернет-провайдера.
Читать дальше →

Настройка внешнего вида UIPopoverController

Время на прочтение11 мин
Количество просмотров13K
UIPopoverController или всплывающее окно (далее просто «поповер») элемент далеко не новый. На Хабре есть одна вводная статья на эту тему и несколько упоминаний в других топиках. Чаще всего поповеры используются «как есть» и не требуют каких-либо модификаций, но в некоторых проектах возникает необходимость изменить внешний вид этого элемента. Как раз о том как это сделать и будет эта статья.

Статья не просто перевод или пересказ документации Apple. Я столкнулся с проблемой в реальном проекте, пропустил материал сквозь себя (в хорошем смысле слова), приготовил тщательно разжеванное объяснение и, напоследок, приправил все это конкретной реализацией, которая может пригодиться и вам.
Читать дальше →

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

Интегрируем Copy-Paste-Detection в Xcode, и не только

Время на прочтение4 мин
Количество просмотров4.9K
Сегодня ночью, проводя очередной code-review в наших проектах, наткнулся на большой кусок проявления чистейшего, кристализованного копипаста. Он не очень пришелся мне по душе, и как-то сразу всплыл вопрос:" А много ли копипаста у нас в проектах"? Google is my friend, поэтому решение нашлось очень быстро у jkennedy1980, который использовал CPD (copy paste detector), который входит в PMD (Pretty Much Done || Project Mess Detector || Programming Mistake Detector || ... ). В общем случае, CPD умеет находить copy-paste сходу для ряда языков(cpp, cs, java, php, ruby, ecmascript) и относительно легко расширяется, но мне же был нужен Objective-C. Как раз такой вариант и был у jkennedy1980, который использовал CPD в автоматической сборке jenkins'ом. Это в общем случае очень хорошо для любого проекта на любом языке, когда jenkins внедрен в процесс разработки, все права выставлены, и все знают где, когда и что надо нажимать. В случае же, когда разработчики не знают про jenkins, либо знают, но он где-то там далеко, такой метод мягко говоря не подходит. Xcode для iPhone/iOS разработчиков, все же, как-то ближе, и хотя для него все еще нельзя написать плагин,
Нас это не остановит ...

Новая файловая политика iOS 5 и история реджекта по-вахтёрски

Время на прочтение5 мин
Количество просмотров2.7K


Good day, хабрасообщество!

Решил разбить эту статью на две части – первая будет про НЭП Новую Файловую Политику и чистку любимой папки Documents, т.е. полезную iOS-девелоперу информацию (вроде на хабре про это ещё не писали). Информация очень полезная, если вы хотите сберечь нервы, время и деньги при залитии обновления / нового приложения на AppStore, так что рекомендую к чтению всем-всем-всем.

Во второй я расскажу про войну с первой линией техподдержки Эппла и синдром вахтёра, но она носит скорее повествовательный характер и её читать не нужно.
Читать дальше →

Способы встраивания C++ в Objective-C проекты

Время на прочтение10 мин
Количество просмотров31K
Этот топик — мой перевод статьи про способы встраивания С++ в Objective-C проекты, в которой рассказаны некоторые интересные решения, как удачные, так и неудачные. Оригинал статьи:
www.philjordan.eu/article/strategies-for-using-c++-in-objective-c-projects

Итак,

Способы встраивания C++ в Objective-C проекты


Если вы спешите и хотите сразу перейти к решению проблемы внедрения объектов С++ в классы Objective-C без порчи заголовочных файлов, так, чтоб они могли быть включены из чистого Objective-C, вы можете прокрутить статью до заголовка Pimpl. Это решение можно использовать в ~95% случаев. Остальная часть содержит более глубокий анализ проблемы и дополнительные методы ее решения.
Читать дальше →

Давненько не брал я в руки шашки. Знаем, знаем, как Вы играете

Время на прочтение4 мин
Количество просмотров5K
Ситуация в appStore для casual разработчиков быстро меняется.
2 года назад можно было заработать, выпуская платное приложение одновременно с бесплатным аналогом.
После появления в магазине более 100 000 программ этот трюк стал неэффективен.
Год назад шустрые парни стали выкладывать только бесплатные приложения, но с покупками внутри.
Одновременно число программ в appStore перевалило за 500 000.
В ближайшее время ( судя по финансовым отчетам 2012 года) только реклама внутри приложения принесет быстрые деньги.



До прошлого года я использовал фирменную рекламу от Apple.
Однако родная iAd реклама работает исключительно на территории врага.
Чтобы добрать деньги с игроков, живущих не в США (а это минимум 25%), следует прикрутить рекламу от, скажем, Google, которая будет мелькать там, где не работает iAd.

Под habracut я опишу механизм AdWhirl, реализующий показ баннеров от разных производителей.
Пример кода взят из бессмертной игры нашего прекрасного детства.

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

Интеграция физического движка Box2D в UIKit-приложение для iOS

Время на прочтение7 мин
Количество просмотров6.2K

Привет!


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

Физика


Одним из пунктов была симуляция физического мира, чтобы у пользователя была возможность играть с предметами: создавать их, бросать, перекидывать из угла в угол средствами акселерометра и так далее. Для реализации этой возможности требовалась интеграция в проект физического движка. И вот, когда на новом проекте было освоены Cocos2D и Box2D, возник резонный вопрос: если Box2D по своей сути не зависим от графической реализации программы, то почему бы не использовать его в самой первой книге?
Читать дальше →

50 советов для разработки безупречного дизайна iOS приложения

Время на прочтение12 мин
Количество просмотров58K
Привожу перевод статьи Ника Карсона. В статье собраны вместе, как мне кажется, основные правила построения интерфейса для iOS приложений.

1. Возможно, сенсорное управление отличается гибкостью и интуитивностью, но оно далеко не совершенно. Подумайте, чем люди занимаются, когда используют ваше приложение, и как они держат устройство. Помните, что пальцы покрывают гораздо большую площадь, чем кажется, и их точность оставляет желать лучшего.

2. Ориентируйтесь на устройство при создании приложений: учтите не только размер экрана, но и где и когда устройство используется. Больше всего iPad используется для развлечений между 8-11 часами вечера, перед сном, тогда как iPhone — в очереди на автобус или в кофейне. Учтите различные сценарии использования при разработке приложений – включая и то, как далеко устройство расположено от лица пользователя.

3. Рассматривайте ваше приложение поэкранно. Определите, каковы основные задачи, которые достигаются при использовании данного активного экрана, и затем сделайте так, чтобы пользователь мог решить их, используя минимальное количество дополнительных опций, кнопок и других элементов управления. Избегайте слишком большой функциональной нагрузки на активный экран, в особенности на мобильных устройствах.

4. Разработка программ для мобильных телефонов или планшетов значительно отличается от разработки веб-приложений и даже приложений для стандартного рабочего стола, — каждый элемент занимает на экране определенное место, и это правило необходимо неукоснительно соблюдать. Рассматривайте это скорее как преимущество, чем ограничение: фиксированные шаблоны помогут лучше контролировать размер и расположение каждого элемента, видимого пользователю.

5. При адаптации приложения к экранам различных размеров, помните, что при значительном его изменении – например, от iPhone к iPad – способ использования устройства также изменится. Если размеры ограничены, используйте основные функции приложения, при их увеличении – можно включить любые дополнительные функции, которые не вошли в более сжатую версию, так как у вас появляется возможность обыграть дополнительное пространство.

За остальными 45-ю — добро пожаловать подкат.
Читать дальше →

Сказка о раскраске

Время на прочтение2 мин
Количество просмотров3.3K


В преддверии Нового 2012 года мы хотели выпустить коротенькую интерактивную книжечку по мотивам стихотворения “12 Поваров” Даниила Хармса. Оставался месяц, общая концепция была разработана, основные графические материалы готовы. По нашим расчётам мы как раз успевали выпустить приложение на русском языке в 30 числах декабря (из расчёта, что Apple будет рассматривать наше приложение 7 дней).

Как интерактивная книга эволюционировала в раскраску


Мы приступили к разработке первых страниц. Посмотрели результат: получалось ярко, красочно, но чего-то не хватало. Попробовали поменять цвета персонажей: кому-то нравился один вариант, кому-то другой, тогда мы поняли, что на вкус и цвет товарищей нет, и решили сделать раскраску.
Читать дальше →