Обновить
65.59

iOS *

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

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

«Боевые ботинки твоей мамы» — новая функция iOS7

Время на прочтение2 мин
Охват и читатели36K
В коде iOS7 найдено несколько забавных фрагментов — названия флагов для активации неких функций, суть которых компания пыталась скрыть от посторонних.

Например, один из флагов назывался YouMamaCombatBoots, что переводится как «боевые ботинки твоей мамы». В финальной версии системы флаги типа isYoMamaWearsCombatBootsActive «рассекречены» как isStillImageStabilizationActive.

-- (void)setYoMamaWearsCombatBootsAutomaticallyWhenAvailable:(BOOL)arg1;
-- (BOOL)yoMamaWearsCombatBootsAutomaticallyWhenAvailable;
-- (BOOL)isYoMamaWearsCombatBootsActive;
+- (BOOL)isStillImageStabilizationActive;
 - (BOOL)isEV0CaptureEnabled;
 - (void)setHDRCaptureEnabled:(BOOL)arg1;
 - (BOOL)isHDRCaptureEnabled;
 - (void)configureAndInitiateCopyStillImageForRequest:(id)arg1;
 - (BOOL)isRawCaptureSupported;
+- (BOOL)isStillImageStabilizationSupported;

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

Три практики веб-дизайна для приближающейся iOS7

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


Через неделю Apple откроет iOS7 миру.

Новая версия операционной системы, которая генерирует 56,5% мирового серфинга (Прим. переводчика: по статистике компании Mobify) включает в себя новые функции и удивительные улучшения в дизайне.

Некоторые из наиболее интересных изменений в iOS могут быть найдены внутри встроенного браузера Safari. Эти изменения напрямую влияют на работу браузера и на привычный пользовательский опыт при работе с браузером и сайтами.

В этой статье я хочу рассказать о трех основных UX/UI изменениях в Safari на iOS7, которые вы должны иметь ввиду, когда оптимизируете сайты для устройств Apple.
Читать дальше →

UIAppearance. Управление внешним видом iOS-приложений

Время на прочтение2 мин
Охват и читатели18K
Стиль или Суть
Сообщение или Носитель
Риторика или Диалектика

Красота — это нечто поверхностное или же идущее из глубинных истин?
Что значит «хороший дизайн»?
Эстетические суждения относительны или абсолютны?

Это важные вопросы, которые обсуждались философами, художниками и поэтами на протяжении тысячелетий.

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

Пользователи платят за красивые приложения.

При покупке iPhone, пользователь покупает также философию Apple: вещи должны не только хорошо работать, но и хорошо выглядеть. То же относится к разработке на iOS — некрасивый интерфейс пользователя сказывается и на программном коде.

Исторически даже для незначительного изменения внешнего вида приложения в iOS требовался набор хаков, сопряженных с опасностью отклонения приложения в AppStore. К счастью, начиная с iOS 5 у разработчиков есть новый инструмент: UIAppearance.
Читать дальше →

Автоматическая сборка iOS-приложений на разных версиях Xcode с помощью Jenkins

Время на прочтение6 мин
Охват и читатели29K
Если к вам уже приходили с вопросом «Где можно получить свежую сборку?», то вы прекрасно понимаете, зачем нужна автоматизация сборки и распространения. Никто не хочет тратить лишнее время на рутинную работу. Раньше мы пользовались утилитой под названием iOSBetaBuilder (http://www.hanchorllc.com/betabuilder-for-ios/). Это приложение предназначено для упрощения распространения AdHoc сборок iOS-приложения: нужно только ввести название и версию проекта, адрес (URL), где хочется выложить сборку, и получаются сгенерированные index.html и manifest.plist. На первое время этого достаточно.

Но когда проект достигает стадии багфиксинга, тратить лишние 5 минут на сборку и перепубликацию для QA – неохота и некогда. А когда проектов становится много, а их сборки становятся дольше… В рамках компании затраты времени помноженные на количество проектов становятся слишком существенными, и приходит время автоматизации.

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

Для тех, кто уже в теме, есть интересный раздел в конце статьи: как настроить сборки с различными версиями Xcode на одной машине.

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

C# async для iOS и Android

Время на прочтение9 мин
Охват и читатели17K
Xamarin добавил поддержку C# 5 Async/await на iOS и Android. Кроме базовых классов .NET Async, появились 174 асинхронных метода в Xamarin.iOS и 337 в Xamarin.Android. Асинхронным так же стал Xamarin Mobile, который предоставляет кроссплатформенный доступ к адресной книге, камере и геолокации. Компоненты вовсю добавляют поддержку async, например, облачный backend Parse.

Под катом расшифровка и перевод вебинара об этом значимом событии.


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

Не AdMob-ом единым. Обзор интересных рекламных сетей и не только

Время на прочтение9 мин
Охват и читатели68K
При разработке игр или приложений у каждого девелопера возникают вопросы о монетизации. Естественно сразу же приходит на ум AdMob, хотя таких систем намного больше, и возможно, в некоторых случаях имеет смысл даже отказаться от него. Ведь баннерная реклама обычно достаточно навязчива и “бьет наугад”, куда интересней более персонализированная реклама, в таком случае и рекламодатель, паблишер и самое главное конечный пользователь останутся в выигрыше.
Мы составили список необычных рекламных систем, которые могут помочь разработчикам в монетизации их приложений. А также краткий обзор услуг и цен для рекламодателей.

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

Записки iOS разработчика: Делимся опытом, часть 2

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

Здравствуйте, дорогие читатели Хабра!
Эта статья — вторая часть серии «Записки iOS разработчика».

Содержание:
  1. Часть 1: Работа с Файлами; Шаблон Singleton; Работа с Аудио; Работа с Видео; In-App Purchases
  2. Часть 2: Собственные всплывающие окна (Popups); Как использовать Modal Segue в Navigation Controller; Core Graphics; Работа с UIWebView и ScrollView
  3. Часть 3: Жизнь без Autolayout; Splash Screen; Работа с ориентацией девайса в iOS 6+; Сдвиг содержимого UITextField
  4. Часть 4: Google Analytics; Push Notifications; PSPDFKit; Вход в приложение через Facebook; Рассказать друзьям — Facebook, Twitter, Email
  5. Часть 5: Core Data; UITableView и UICollectionView

Разберемся с кастомизируемыми всплывающими окнами в конце статьи, так как это довольно обширная тема. А пока что — все остальное.
Читать дальше →

Core Data для iOS. Глава №2. Практическая часть

Время на прочтение9 мин
Охват и читатели23K
Хабралюди, добрый день!
Сегодня хочу начать написание ряда лекций с практическими заданиями по книге Михаеля Привата и Роберта Варнера «Pro Core Data for iOS», которую можете купить по этой ссылке. Каждая глава будет содержать теоретическую и практическую часть.



Содержание:
  • Глава №1. Приступаем (Практическая часть)
  • Глава №2. Усваиваем Core Data (Практическая часть)
  • Глава №3. Хранение данных: SQLite и другие варианты
  • Глава №4. Создание модели данных
  • Глава №5. Работаем с объектами данных
  • Глава №6. Обработка результатирующих множеств
  • Глава №7. Настройка производительности и используемой памяти
  • Глава №8. Управление версиями и миграции
  • Глава №9. Управление таблицами с использованием NSFetchedResultsController
  • Глава №10. Использование Core Data в продвинутых приложениях

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

Записки iOS разработчика: Делимся опытом, часть 1

Время на прочтение6 мин
Охват и читатели46K
imageЗдравствуйте, дорогие читатели Хабра!

Я разрабатываю приложения под iOS и Mac OS. Уже около года занимаюсь фрилансом и, переходя от клиента к клиенту, начал замечать, что в задаче разбираюсь одиножды; а при появлении похожего заказа, просто использую уже разработанные ранее модули. В серии статей «Записки iOS разработчика» я постараюсь осветить некоторые часто встречающиеся в заказах аспекты; напишу подобие шпаргалки, прочитав которую, вы сможете быстро и безболезненно внедрить новую технологию в свой проект. Мои заметки ни в коем случае не претендуют на глубокое понимание процессов, но описывают легкий способ закончить заказ в срок.

Содержание:

  1. Часть 1: Работа с Файлами; Шаблон Singleton; Работа с Аудио; Работа с Видео; In-App Purchases
  2. Часть 2: Собственные всплывающие окна (Popups); Как использовать Modal Segue в Navigation Controller; Core Graphics; Работа с UIWebView и ScrollView
  3. Часть 3: Жизнь без Autolayout; Splash Screen; Работа с ориентацией девайса в iOS 6+; Сдвиг содержимого UITextField
  4. Часть 4: Google Analytics; Push Notifications; PSPDFKit; Вход в приложение через Facebook; Рассказать друзьям — Facebook, Twitter, Email
  5. Часть 5: Core Data; UITableView и UICollectionView
Читать дальше →

iPhone, встречай Haskell

Время на прочтение1 мин
Охват и читатели18K
Да-да, все правильно — теперь под iOS можно писать на Haskell! Вот сообщение одного из создателей этого чуда (оригинал):
Привет всем!
Мы со Stephen Blackheath безумно рады сообщить, что на данный момент в GHC появилась возможность компилировать в нативный код, поддерживаемый iOS устройствами, а также iOS симулятором. Все, что нужно, вы найдете здесь: ghc.haskell.org/trac/ghc/wiki/Building/CrossCompiling/iOS
Если коротко, то вы можете использовать «ghc-ios myFiles.hs» для получения универсальных ARMv7/ARMv7s/i386 библиотек и подключать их к проекту в Xcode.
Сейчас Стивен работает над чудесными FRP-powered играми, я тружусь над проектом SpaceTime, который скоро анонсирую, а вы все просто обязаны бежать к компьютеру и начинать писать под iOS на лучшем в мире языке:)
Читать дальше →

Мониторинг файлов с помощью GCD

Время на прочтение4 мин
Охват и читатели5.9K
Думаю, что большинству разработчиков под iOS известно как легко включить iTunes File Sharing в своем приложении, добавив лишь одну строчку в Info.plist:
UIFileSharingEnabled = YES
Но это даже не полдела. Соль в том, что, по-хорошему, приложение теперь должно остлеживать все изменения с файлами, происходящие в директории Documents и соответственно обновлять свои данные. Как это релизовать в своём коде и расскажет данная статья.
image
Читать дальше →

DoS эксплоит для движка WebKit

Время на прочтение1 мин
Охват и читатели146K
Определенная последовательность арабских символов позволяет вызвать критическую ошибку, приводящую к аварийному завершению любого приложения использующего движок WebKit в iOS и Mac OS.

Уязвимость воспроизводится на Mac OS 10.8 (Mountain Lion) и iOS 6. Версии iOS <6 и 7 beta, Mac OS <10.8 и 10.9 beta не подвержены проблеме.

Ссылка на эксплоит: https://zhovner.com/tmp/killwebkit.html

Уязвимость можно воспроизвести:
  • Отправив sms на iPhone — при этом происходит респринг и больше нельзя зайти в приложение «Сообщения». Исправить можно так habrahabr.ru/post/191654/#comment_6658802
  • Отправив сообщение через iMessage на iOS или десктопный Messages в Mac OS — приложение завершится и более в него нельзя будет зайти.
  • Открыв страницу содержащую строку — мобильный Safari в iOS просто закроется. При этом, если не удалить историю посещений, зайти повторно в него не получится. Десктопный Safari ведет себя так же. Десктопный Chrome завершит процесс вкладки показав сообщение об ошибке, сам браузер продолжит работать. Новая Opera и Яндекс.Браузер ведут себя аналогично Хрому.
  • Поместив строку в название WiFi-сети (ESSID) — во время сканирования сетей это должно вызвать ошибку. Метод описан на news.ycombinator.com и мною не проверялся: news.ycombinator.com/item?id=6293824


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

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

Core Data для iOS. Глава №2. Теоретическая часть

Время на прочтение24 мин
Охват и читатели34K
Хабралюди, добрый день!
Сегодня хочу начать написание ряда лекций с практическими заданиями по книге Михаеля Привата и Роберта Варнера «Pro Core Data for iOS», которую можете купить по этой ссылке. Каждая глава будет содержать теоретическую и практическую часть.



Содержание:
  • Глава №1. Приступаем (Практическая часть)
  • Глава №2. Усваиваем Core Data
  • Глава №3. Хранение данных: SQLite и другие варианты
  • Глава №4. Создание модели данных
  • Глава №5. Работаем с объектами данных
  • Глава №6. Обработка результатирующих множеств
  • Глава №7. Настройка производительности и используемой памяти
  • Глава №8. Управление версиями и миграции
  • Глава №9. Управление таблицами с использованием NSFetchedResultsController
  • Глава №10. Использование Core Data в продвинутых приложениях


Очень-очень много букв. Осторожно.

Core Data для iOS. Глава №1. Практическая часть

Время на прочтение12 мин
Охват и читатели26K
Хабралюди, добрый день!
Сегодня хочу начать написание ряда лекций с практическими заданиями по книги Михаеля Привата и Роберта Варнера «Pro Core Data for iOS», которую можете купить по этой ссылке. Каждая глава будет содержать теоретическую и практическую часть.



Содержание:
  • Глава №1. Приступаем (Практическая часть)
  • Глава №2. Усваиваем Core Data
  • Глава №3. Хранение данных: SQLite и другие варианты
  • Глава №4. Создание модели данных
  • Глава №5. Работаем с объектами данных
  • Глава №6. Обработка результатирующих множеств
  • Глава №7. Настройка производительности и используемой памяти
  • Глава №8. Управление версиями и миграции
  • Глава №9. Управление таблицами с использованием NSFetchedResultsController
  • Глава №10. Использование Core Data в продвинутых приложениях


Очень много больших картинок. Осторожно.

Surfingbird for iOS 2.0 beta

Время на прочтение1 мин
Охват и читатели2.3K
Все лето мы трудились над Surfingbird 2.0. Sufingbird это рекомендательная система контента, которая ориентируется на ваши интересы, оценки и действия



Во-первых, приложение стало в несколько раз быстрее и стабильнее

Во-вторых, мы постепенно стали адаптировать контент под приложение. Только текст и фото без флешовых банеров и т.д.

В-третьих, переработан весь дизайн приложения. Мы старались прийти к полному flat дизайну, отрезая все лишнее.

В-четвертых, все фичи, которые есть у нас на WEB, доступны в новом приложении. В том числе работа с коллекциями.

В разработке мобильных приложений мы все еще новички и нам очень хочется знать мнение пользователей Хабра.

Для тестирования мы используем hockeyapp.net
Чтобы мы могли выслать вам приглашение, напишите свой email в комментариях или просто отправьте письмо на appledev@surfingbird.ru

Core Data для iOS. Глава №1. Теоретическая часть

Время на прочтение16 мин
Охват и читатели111K
Хабралюди, добрый день!
Сегодня хочу начать написание ряда лекций с практическими заданиями по книги Михаеля Привата и Роберта Варнера «Pro Core Data for iOS», которую можете купить по этой ссылке. Каждая глава будет содержать теоретическую и практическую часть.



Содержание:
  • Глава №1. Приступаем (Практическая часть)
  • Глава №2. Усваиваем Core Data
  • Глава №3. Хранение данных: SQLite и другие варианты
  • Глава №4. Создание модели данных
  • Глава №5. Работаем с объектами данных
  • Глава №6. Обработка результатирующих множеств
  • Глава №7. Настройка производительности и используемой памяти
  • Глава №8. Управление версиями и миграции
  • Глава №9. Управление таблицами с использованием NSFetchedResultsController
  • Глава №10. Использование Core Data в продвинутых приложениях


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

В App Store меняется алгоритм ранжирования

Время на прочтение3 мин
Охват и читатели9.6K
Apple, вероятно, тестирует изменения в алгоритмах ранжирования iTunes App Store — теперь для вычисления позиции приложения учитываются отзывы пользователей и некоторые другие новые факторы. Являются ли такие изменения экспериментальными по своей природе или свидетельствуют о новом переделе рейтингов пока непонятно. Однако, они уже приводят к изменениям позиций приложений в топах – без увеличения или уменьшения количества загрузок.

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

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

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

Case story o продвижении игры собственными силами в топы US App Store

Время на прочтение12 мин
Охват и читатели36K
В данной статье мы хотим рассказать про стратегию и тактику вывода на US рынок нашей f2p игры жанра Tower Defense (TD). Озвучим бюджеты, поделимся открытиями, проанализируем ошибки. Релиз игры состоялся год назад.

Для «затравки» достижения игры в App Store:
1. побывала в топ6 и топ7 своих категорий в US;
2. фичеринг в New&Noteworthy в 68 странах;
3. около 500 000 закачек;
4. «письмо счастья» от Apple;
5. 5 звезд — средняя оценка для всех магазинов в течение полугода;
6. обзоры на ведущих международных мобильных порталах.


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

Правильная аналитика в мобильном приложении

Время на прочтение6 мин
Охват и читатели65K
Подавляющее большинство мобильных приложений выходит в свет без интегрированных фреймворков аналитики и без правильной их настройки. Это очень печально, приложение не веб-сайт, где можно воткнуть Google Analytics за 10 минут и собирать статистику.

Я вижу четыре причины для того чтобы задуматься над аналитикой в мобильном приложении ДО его выхода:
  • С первого раза никогда не получается сделать успешное мобильное приложение. После выпуска требуется анализ поведения настоящих пользователей в «бою».
  • Оценка эффективности рекламных кампаний невозможна без аналитики.
  • Две недели занимает выкладка iOs приложения, когда вы спохватитесь придется ждать аналитику около месяца.
  • Данные из прошлого не вернуть.

Под катом набор инструментов для аналитики и рекомендации по их настройке принятые в Touch Instinct и ценные комментарии от LinguaLeo и агентства мобильной рекламы Mobio.


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