Обновить
47.65

iOS *

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

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

iOS 6 beta 1 — первый взгляд

Время на прочтение5 мин
Охват и читатели6.8K
image
Всем доброго дня!
Сегодня решил поставить на свой iPod Touch 4g первую бета-версию iOS 6, которую Apple представили 11 июня на WWDC 2012. Захотел посмотреть, что же нам добавила Apple, и что обновила. Подробности под катом.
Читать дальше →

Интегрируем iOS-приложение с Evernote: первые шаги

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

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

Сейчас все больше и больше мобильных приложений поддерживают возможность чтения и отправки информации в Evernote. Нам это очень нравится, и мы бы хотели, чтобы так продолжалось и дальше — чем больше у вас будет способов получить доступ к своим заметкам, тем лучше (во всяком случае, нам так кажется). Будучи разработчиком, вы получаете выход на 30 с лишним миллионов наших пользователей и можете мгновенно увеличить ценность своего приложения в глазах этих людей, открыв им возможность связи с их внешней “цифровой памятью”.

Мы решили периодически публиковать руководства для разработчиков, которые только начинают осваивать платформу Evernote (или разработку в целом) и хотят интегрировать свои приложения с нашим сервисом.

В этом посте мы опишем конкретные шаги для интеграции Evernote в тестовое приложение iOS. Мы начнем новый проект в Xcode, загрузим и установим Evernote Software Development Kit (SDK) и создадим простое приложение, которое будет взаимодействовать с Evernote через Cloud API.
Читать дальше →

Core Data: импорт данных с минимумом кода

Время на прочтение5 мин
Охват и читатели11K
Как и многие разработчики, я не очень люблю писать много кода, особенно там, где это кажется не нужным — на ранних стадиях стараюсь придумать, как этот код оптимизировать и обобщить. Что касается непосредственно Core Data, мне всегда казалось, что все эти бесконечные фетчи и создания новых объектов можно упростить. Тогда я открыл для себя часто упоминаемый на хабре паттерн ActiveRecord и его очень хорошую (на мой взгляд) реализацию на Objective-C — MagicalRecord. Углубляться в описание не буду — все очень доступно описано на странице проекта.
Следующим шагом упрощения должен был быть маппинг данных, поступающих извне.

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

Исследование приложений обмена местоположением

Время на прочтение6 мин
Охват и читатели73K
Доброе время суток, Хабр

Как многие, прочитавшие мой предыдущий топик, догадались, я (хотя, конечно, не я один, но здесь будет проще говорить я) пробую себя в разработке приложения для Android/iPhone по обмену местоположением. Пока рано давать на что-либо ссылки, могу лишь сказать, что оно бесплатное, и на нем хочется научиться делать удобные и полезные приложения.



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

iOS 6 beta доступна для скачивания разработчикам

Время на прочтение1 мин
Охват и читатели2.6K
Сегодня во второй половине дня Apple обещает выложить iOS6 beta для разработчиков. Официальный релиз состоится осенью, но разработчики заранее получат систему, чтобы адаптировать свои приложения к новым API и изучить более 200 новых фич, которые Apple встроила в iOS 6.

  • Унификация телефонного номера и Apple ID
  • App Banners для веб-сайтов: по нажатию на баннер в браузере iOS автоматически устанавливает на устройство соответствующее приложение
  • Новые карты с 3D-интерфейсом вместо Google Maps
  • Браузер Safari с интеграцией всех устройств, так что можно открыть страницу на компьютере, а продолжить сёрфинг на iPad
  • Сохранение веб-страниц целиком для дальнейшего прочтения в офлайне

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

Как хотел срубить бабла с корпорации добра

Время на прочтение3 мин
Охват и читатели26K
У меня чудесная IT работа в русской провинции.
К тому же приличная зарплата. Даже по столичным меркам.
image
Несмотря на это, перед сном я мечтаю. Среди алчных мечт — получать какие-нибудь небольшие деньги за ничего-не-делание.
Ну, чтобы я спал, а денежка шла.
Доллар за день.
И доллар за ночь. Глядишь, за год можно положить под елку очередному сыну очередной iPad (=365*2$).

Понятно, для осуществления мечты нужно иметь Xcode+iPhone. Или Eclipse+Droid. Или VS+Mozart.
Мечты сбываются.
Но не сразу.

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

Icenium: кросс-платформенная облачная среда для создания мобильных приложений

Время на прочтение2 мин
Охват и читатели11K
Icenium – это совершенно новая интегрированная облачная среда (integrated cloud environment — i-c-e — Icenium) для разработки мобильных приложений. Сервис, который является продуктом подразделения Telerik, только что вышел на стадию приватного бета-тестирования и находится в поиске разработчиков, желающих опробовать его. Первоначально Icenium фокусируется на создании iOS и Android приложений, а позже надеется перейти к другим мобильным платформам, и, в конце концов, к серверам и десктопам.

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

Оптимизация ресурсов iOS приложений

Время на прочтение5 мин
Охват и читатели6.1K
При сборке приложений под iOS для оптимизации ресурсов используется скрипт iphoneos-optimize из набора XCode. Работает он отлично, но если копнуть поглубже, то становится ясно, что некоторые файлы не пережимаются, а другие хоть и немного уменьшаются, но все-равно далеки от идеала. Можно сказать, что задача скрипта сделать файлы более совместимыми с iPhone, чтобы они быстрее читались или распаковывались, но скорее всего это имело смысл лишь на старых iPhone 1 и иже с ними, а уже на процессорах 1ГГц с ARM 7 это откровенно не актуально.
С помощью простых оптимизаций и парочки программ из набора MacPorts можно добиться существенного уменьшения PNG и JPG картинок в конечной программе, а при желании и других видов данных.
Читать дальше →

WWDC и iOS 6: что мы ждем?

Время на прочтение2 мин
Охват и читатели29K
Конференция Apple Worldwide Developers Conference (WWDC) начнется уже в понедельник, 11 июня. Что мы больше всего ждем от нее? Учитывая, что iOS 4 была представлена в июне 2010 года, iOS 5 — в июне 2011, я думаю мы все ждем представления новой версии мобильной операционной системы Apple. Конечно, пока мало что про нее известно, но можно выделить ключевые позиции, которые кажутся наиболее интересными в представлении iOS 6.

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

Как НАДЕЖНО защитить in-App Purchase от ломалок

Время на прочтение4 мин
Охват и читатели9.5K
Совсем недавно я писал статью Как защитить in-App Purchase от ломалок . Прошло немного времени, а хакеры на месте не сидят. Тот метод защиты оказывается можно обойти, не очень сложно. Под катом метод, который намного надежнее.
Читать дальше →

Баннеры WWDC за последние 5 лет

Время на прочтение1 мин
Охват и читатели1.1K
2007
Apple анонсировала iPhone в январе 2007. WWDC 2007 начиналась 11 июня, разработчики надеялись, что компания анонсирует SDK, но Apple не сделали этого, а позволили разрабатывать лишь веб-приложения для Safari.

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

Особенности AR в iOS и Android

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


Статья, скорее всего, не расскажет ничего нового тем, кто давно занимается разработкой приложений с фишкой Augmented Reality, но возможно будет полезна тем, кто интересуется этой темой и близок к написанию AR-приложения.

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

Очередная реализация ActiveRecord на Objective-C

Время на прочтение9 мин
Охват и читатели4.1K
Хочу поделиться очередной реализацией паттерна ActiveRecord на Objective-C, а конкретно для iOS.

Когда только начинал использовать CoreData в iOS разработке, то уже тогда появлялись мысли о том, что это взаимодействие можно как-то упростить. Спустя некоторое время я познакомился с ActiveRecord из RubyOnRails, и тогда я понял чего мне не хватает.
Немного поискав на гитхабе нашел массу реализаций, но по разным причинам они мне не понравились. Одни написаны для CoreData, а мне она не нравится, в других нужно создавать таблицы руками, или писать raw sql-запросы. А в каких-то код был до неприличия ужасен, я и сам порой пишу не очень чисто, но огромный забор из вложенных if/switch/if/switch это чересчур.
В конце концов решил написать свой велосипед, без CoreData и без SQL для пользователя.
Главной причиной этой разработки был, есть и, надеюсь, будет — интерес к разработке.

Вот что из этого всего вышло.
А под катом небольшое описание возможностей и реализации (на самом деле много текста и кусков кода, резюме в самом конце статьи).
Читать дальше →

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

Как создавать эффективные мобильные решения для предприятий

Время на прочтение4 мин
Охват и читатели2.3K
Еще совсем недавно коммуникационные вопросы решались на бумаге, телефонными разговорами и личными встречами. С появлением персональных компьютеров, потом локальных вычислительных сетей, а затем и сети Интернет, необходимые вопросы, казалось бы, решились: на экранах своих мониторов мы видим письма электронной почты, отчеты, таблицы, картинки, презентации и интерфейсы различного программного обеспечения.

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

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

Appsplit: еще один краудфандинг для мобильных приложений

Время на прочтение2 мин
Охват и читатели3.9K
Краудфандинг? Определенно самый модный тренд этого года. Все знают про Kickstarter, совсем недавно мы писали про AppStori, засветился и SellanApp.com. Сегодня же проявилась еще одна платформа «народного софинансирования». Appsplit – еще один сервис, который позволяет программистам собирать средства на свои проекты. Appsplit, прежде всего, сервис для поддержки мобильных приложений. Ты можешь рассказать о том, что ты создаешь, каким образом ты хочешь собирать средства («открытый» проект позволяет тебе оставить деньги даже в том случае, если вся требуемая сумма не собрана) и сколько денег тебе нужно. Ты также можешь продавать права на определенные приложения, и даже акции своей компании. Наконец, ты можешь найти людей, заинтересованных в работе над твоей идеей.

Сайт, основанный Хуссейном Яфуфи, недавно был перезапущен в качестве краудсорсинговой платформы. Изначально он задумывался как торговая площадка, на которой можно было приобрести права на приложения и исходный код.

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

Алгоритм Ляна-Кнута в реальном проекте, или как я делал читалку для iOS

Время на прочтение4 мин
Охват и читатели12K
Всем привет! В этот раз я хочу рассказать, как я реализовывал альтернативу iBooks. В своем предыдущем посте я писал об алгоритме расстановки мягких переносов в тексте. Он как раз и пригодился при создании своей читалки, оценить его работу можно наглядно в приложении. Но помимо этого, при реализации проекта мне пришлось столкнуться с многими другими интересными вещами, такими как парсинг и рендеринг HTML с CSS, реализация элементов управления с кастомным дизайном и т.п. Наш дизайнер rashapasta очень любит подкинуть мне задачек с эдаким нестандартным интерфейсом, который нужно реализовывать ручками, но обо всем по порядку.
Читать дальше →

Пара слов о Header Map в XCode

Время на прочтение3 мин
Охват и читатели5.9K
Семейство языков Си/Objective C/C++ нуждается в препроцессоре. Препроцессор пропускает компилируемый исходник через себя, прежде чем отдать текст на вход компилятору. Пожалуй самая важная часть работы препроцессора заключается в подстановке на место директив #include<имя-файла> содержимого указанного файла. Обычно указывают относительный путь (ex: stdio.h, sys/stat.h). Возникает закономерный вопрос — как препроцессор находит заголовочные файлы?

Классический ответ такой: препроцессор последовательно перебирает пути в INCLUDE_PATH начиная с первого. Относительный путь из директивы include разрешается относительно (sic) папки из INCLUDE_PATH. Если файл не найден, переходим к следующему элементу INCLUDE_PATH. Если INCLUDE_PATH исчерпан, компилятор сообщает об ошибке.

Но Apple как всегда вносит свои коррективы. При сборке в XCode дополнительно используются т.н. header map. Это индекс всех заголовочных файлов в проекте. Если XCode «знает» про foobar.h, то данный файл будет доступен просто по имени (#include<foobar.h>), вне зависимости от фактического размещения на файловой системе.

Это прекрасное решение — до тех пор, пока оно работает как задумано. К сожалению, механизм header map плохо документирован, что не способствует быстрому разрешению проблем. Постараюсь восполнить этот пробел.

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

One More Thing Conference 2012

Время на прочтение15 мин
Охват и читатели2K
День добрый, Хабр.

Недавно довелось побывать на One More Thing Conference 2012. Я какое-то время думал, писать об этом или нет. В конце-концов решил рассказать что это за событие и что познавательного я там узнал. Если вам интересна тема разработки для iOS и истории с этим сзвязанные, то добро пожаловать под кат.
Читать дальше →

Разработчик Dropzone заработал 8000$ за день, сбросив цену с 14$ до 2$

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


Всем известно, что людям свойственно покупать совершенно не нужные или не интересные им вещи в периоды скидок. Такой эффект испытал на себе разработчик приложения Dropzone для Mac OS X. Обычная цена на его приложение составляла 14$, но он решил поучаствовать в акции Two Dollar Tuesday и сбросил цену до 2$.

Статистика загрузок и немного текста под катом.
Читать дальше →

Искусство на кончиках пальцев. iOS иконки

Время на прочтение1 мин
Охват и читатели26K
Одна из главных особенностей App Store — он пробуждает в дизайнерах креативное мышление. Кажется, будто каждую неделю появляются отличные идеи для интерфейсов, что очень радует все коммьюнити.

Один из подразделов мобильного дизайна — дизайн иконки в App Store. Он, похоже, превратился в отдельную форму искусства. Очень талантливые художники находят все более и более интересные способы, чтобы продемонстрировать приложение в небольшом пространстве.

От переводчика: примеры красивых иконок и еще немного текста под катом.
Читать дальше →