Рубрика «ios development» - 36

27 сентября в 19:00 в питерском офисе JetBrains пройдет десятая встреча мобильных разработчиков — Apple Developers Community.

Теперь встречи будут называться MBLTdev и проходить не только в Санкт-Петербурге, но и в Москве, Киеве, Минске, Екатеринбурге и других городах.

image

Расписание:

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

В ходе разработки одного приложения столкнулся с проблемой: стандартный iOS-овский tabbar очень плохо поддается кастомизации. Невозможно легким движением руки поставить цветные иконки для табов, ни поменять бэкграунд как самого таб-бара, так и отдельных табов в различных состояниях (активен, не активен).
Тем не менее, задача стояла четко: внедрить имеющийся дизайн, который категорически не состыковывался с накладываемыми ограничениями.

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

В мае 2010 года мы выпустили первый мобильный клиент справочно-правовой системы «Право.ru» для устройств на платформе iOS. На тот момент это было первое приложение, предоставляющее доступ к нормативным актам и иным официальным документам РФ. В декабре 2010 появилось приложение для iPad. Так и сегодня СПС «Право.ru» для iOS является лидером по количеству установок среди справочно-правовых систем. sofbix рассказал историю создания приложения, описал проблемы, с которыми столкнулся, и пути их решения.

Разработка

В процессе реализации СПС «Право.ru» для iOS мы столкнулись с некоторыми сложностями. Первая была в том, что СПС представлена большой базой документов, хранение которых на устройстве затруднительно. Может оказаться так, что на устройстве недостаточно места. При этом операционная система освобождает ресурсы приложений (в том числе и нашего) преимущественно за счет очистки кеша. Однако, документы, обновленные с веба, должны сохраняться в памяти мобильного устройства. И мы нашли оптимальное решение, при котором открытие таких документов происходит из закешированных данных, однако загруженные с веба документы будут гарантированно сохранены на устройстве без потерь при чистки кеша.

В чем же секрет? Как можно почистить кеш и при этом не потерять документы? Ответ в резервном копировании. Дело в том, что после каждого апдейта документов производится их автоматическое сохранение в zip файл (который «сжимает» текстовые данные до 10 раз). Zip сохраняется, и когда кеш будет очищен и понадобятся документы, хранимые локально, будет запущен механизм восстановления документов. Такая гибкая система позволяет оставлять данные на устройстве в сохранности, не захламля диск устройства.Читать полностью »

На Хабре уже были статьи про TestFlight (вот тут и тут), но в них речь шла главным образом про его использование и интеграцию/автоматизацию в процесс сборки. А мне всегда было интересно, как это работает изнутри:
• Как происходит сбор идентификаторов устройств? (Если вам непонятно, зачем собирать UDID’ы, пройдите по ссылкам выше)
• Как приложение устанавливается по переходу по ссылке?
• Как создается иконка на Home Screen?
• Все это хаки или легальные способы?

Если вы хотите построить свой TestFlight c блэк-джеком и всем остальным или просто интересуетесь, как сделано что-то из вышеперечисленного, – прошу под кат.

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

Постановка задачи

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

Решение

Решение в лоб — использовать данные из коллбеков [CLLocationManagerInstance startUpdatingLocation] как в фоне, так и когда приложение активно. Первый и наиболее критичный недостаток данного решения — высокое энергопотребление (за несколько часов аккумулятор iPhone может полностью сесть). Второй — если приложение будет свернуто и 'убито', никаких апдейтов положения пользователя мы получить не сможем.

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

CocoaPods — это мощное и одновременно изящное средство управления зависимостями Cocoa-библиотек, которые разработчики используют в своих iOS и MacOS X проектах. Как обычно для Cocoa-статей мы сфокусируемся именно на iOS разработке.

CocоaPods — мощное средство в руках Objective C разработчика

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

Введение

В данной статье будет создана простая игра под iOS с использованием cocos2d фреймворка. Ниже, я бы хотел поделиться своими познаниями в виде проекта. Я настоятельно рекомендую скачать исходники проекта (ссылка на BitBucket) в силу того, что в процессе написания поста мог что-то пропустить.
Читать полностью »

А вы точно инициализируете CoreData стек правильно?

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

Мне кажется довольно странным, что эта ошибка возникает довольно часто (и должна возникать в «серьезных» проектах), но о ней почему-то умалчивают.
В этой статье речь пойдет о стандартной ошибке при инициализации CoreData-стека в iOS-приложениях.
Читать полностью »

А вы точно инициализируете стек Core Data правильно?

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

Мне кажется довольно странным, что эта ошибка возникает довольно часто (и должна возникать в «серьезных» проектах), но о ней почему-то умалчивают.
В этой статье речь пойдет о стандартной ошибке при инициализации CoreData-стека в iOS-приложениях.
Читать полностью »

Ниже идет история утилиты Download Meter для iOS для учета трафика мобильного интернета, вошедшего в top 10 paid utilities в аппсторах 66 стран.

Из-за странной позиции Apple по отношению к работе приложений в фоне (или к приложениям для учета трафика?) эта утилита в текущем ее виде (с полным набором функций) скоро пропадет из АппСтора (см ниже об этом). Практически все конкуренты (приложения для учета трафика) недавно были вынуждены катастрофически урезать функциональность своих приложений или убрать их совсем из АппСтора, наше приложение в аппсторе пока есть и в нем есть полная функциональность, так что рекомендуем качать приложение быстрее, пока текущая версия не исчезла из аппстор или не была заменена сильно кастрированной версией.

Мы не можем протащить апдейт к этому приложению с конца января 2012г (то есть 7 месяцев попыток, получив около 7 режектов подряд).

Немного истории создания и раскрутки

Продукт Download Meter был первой считалкой траффика (мобильного интернета и wi-fi) для iOS. Практически все время его цена была $2. Бесплатным продукт никогда не был. В аппсторе он появился примерно 3 года назад (10 сентября 2009). Первые конкуренты появились спустя примерно 6 месяцев. Приложение сразу делалось многоязычным, и кажется сразу вышло на 7 языках, включая тексты описания в itunes.

Процесс апрува эплом первой версии занял примерно месяц. Функциональность первой версии программы была очень скудная — показ количество трафика, потребленного айфоном с последнего запуска программы,с момента перезагрузки/включения айфона, и всего (с момента установки программы), плюс возможность создания счетчиков трафика, которые можно создавать, удалять, приостанавливать, запускать и редактировать.

Программа написана на Objective-C++. С первой версии была использована защита Kaliap.com от людей из российской команды RipDev. Поэтому реально работающих взломанных версий download meter'а мы так и не встретили, все «взломанные» версии нашего приложения падали при запуске (кстати, если у кого стоит installous, просьба проверить, есть ли сейчас там работающие версии и отметить в каментах). Рекомендуем эту защиту, прикручивается за полчаса. Огромное спасибо разработчикам KaliAp!

Раскрутка за пределами аппсторов России и США

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


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