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

На Хабре уже были статьи про 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!

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

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

Разработчик, кто он?

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

  • Заказчик
  • Менеджер
  • Архитектор, старший разработчик
  • Разработчики
  • Дизайнер

Роли можно расписать более подробно – все зависит от сложности проекта и от наличия или отсутствия человеческих ресурсов.
Как это все работает. У заказчика появляется идея, он хочет ее воплотить жизнь. Возможно, он еще сам толком не представляет, чего хочет и может выговорить менеджеру только несколько слов. К примеру «iphone» и«карта моих ресторанов». После чего, задача менеджера составить с заказчиком максимально подробную спецификацию приложения. В спецификацию должна входить вся информация от поддерживаемых версиях операционной системы до зарисовок экранов. Вот пример зарисовок(wireframes, mockups) вместе с оценкой.
image

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

Tips and tricks

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

С чего все начинается

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

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

Вступление

Добрый день!
Иметь «выходы» на социальные сети в своем приложении — крайне полезная штука. И сегодня мне хотелось бы поделиться своим небольшим опытом в «прикручивании» всем известной социальной сети к своему приложению. Что в этом интересного? А то, что в некоторых случаях использовать полноценные SDK просто нет смысла (учтем еще то, что официального ВКонтакте не имеет). Мне требовалось всего лишь узнать user_id и добавить возможность «Рассказать друзьям». В общем, всех, кто заинтересовался, прошу под кат! На сладкое — немного кодинга.
Читать полностью »


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