Pull to refresh
  • by relevance
  • by date
  • by rating

Запили Sign in with Apple, или 30 апреля (точнее июня) твоё приложение превратится в тыкву

Alconost corporate blog Development for iOS *Development of mobile applications *Interfaces *Mobile applications design *

Часть 2


Компания Apple опубликовала следующую новость 4 марта 2020 г.: “Все новые приложения и апдейты должны соответствовать новым гайдлайнам ревью и интерфейса к 30 апреля (перенесено на июнь) 2020.”


И главным новшеством этих гайдлайнов является обязательное наличие рабочей кнопки “Sign in with Apple” (SIWA) для приложений, позволяющих логиниться через сторонние сервисы (Facebook, Google, Twitter и т.д.).



Казалось бы, всё просто, но есть нюансы →

Читать дальше →
Total votes 19: ↑18 and ↓1 +17
Views 8K
Comments 11

Нативная разработка vs кроссплатформенная – обсуждаем 30 сентября с владельцами приложений

Development for iOS *Development of mobile applications *Development for Android *Conferences Flutter *
Всем привет! Споры о том, какие мобильные приложения лучше — нативные или кроссплатформенные — не утихают годами. Ранее мы уже писали об этом на Хабре, а теперь предлагаем узнать из первых уст, у владельцев приложений, чем они руководствуются при выборе. Проведем дискуссию, обсудим кейсы и лайфхаки с экспертами Росбанка, Яндекс.Такси, Ак Барс.

Читать дальше →
Total votes 3: ↑3 and ↓0 +3
Views 1.6K
Comments 12

Apple объявила, что WWDC пройдет с 7 по 11 июня вновь в виртуальном формате

Development for iOS *Conferences IT-companies

Apple анонсировала ежегодную всемирную конференцию разработчиков WWDC21. Мероприятие состоится с 7 по 11 июня 2021 года и второй раз пройдет в онлайн-формате.

Читать далее
Total votes 12: ↑12 and ↓0 +12
Views 1.4K
Comments 0

Новости IT и инвестиций: СберИгры и СберВсё, революция в мобильной рекламе

Venture investment Start-up development Finance in IT IT-companies

Привет, Хабр! Раз в неделю я рассказываю о крупнейших событиях в отрасли в России и мире. Оригинальный ролик на YouTube, ниже расшифровка.

Читать далее
Total votes 15: ↑14 and ↓1 +13
Views 2.9K
Comments 12

Видеоматериалы по iOS разработке

Squeek corporate blog
Привет, хабраюзеры!
Может быть, вы видели наш анонс на хабре про бесплатные курсы iOS разработке. Хотим поделиться радостной новостью: мы запустили эти курсы и уже провели четыре занятия! Успели пройти основы языка Objective-C, особенности IDE Xcode, а так же применение концепции MVC в iOS. Но сейчас не об этом.
В анонсе многие спрашивали нас, будем ли мы организовывать видеозапись лекций для тех, кто живет не в Москве. К сожалению, записывать сами мы не смогли. Но зато мы выкладываем на наш блог все материалы с лекций: презентацию, скринкаст практических заданий, а так же файлы проектов. Поэтому, если вы не имеете возможность посещать наши курсы, но все же хотите быстро и эффективно разобраться с разработкой на iOS — welcome!
Читать дальше →
Total votes 13: ↑8 and ↓5 +3
Views 6.6K
Comments 23

iOS tips and tricks: Динамический Default.png

Development for iOS *
Sandbox
При разработке под iOS время от времени у заказчиков, да и у некоторых программистов возникает закономерный вопрос: «А можно ли каким-нибудь образом при старте приложения подменять картинку?».

Немного порыскав по интернету, и покопавшись в документации, то напрашивается ответ, что сделать это невозможно по следующим причинам:
  • Файл, который показывается при запуске приложения лежит внутри папки приложения, и, ак следовательно переписать его не является возможным
  • По аналогичной причине нельзя изменить файл Info.plist, в котором сохраняется относительный путь к файлу стартовым изображением

Однако, все же, это возможно сделать стандартными способами, без всякого рода Jailbreak'а. Впрочем, как и у каждого решения есть свои плюсы, минусы и особенности.

Читать дальше →
Total votes 7: ↑4 and ↓3 +1
Views 3.2K
Comments 10

Несколько советов по архитектуре мобильного приложения, активно использующего сеть. Часть 1

Development for iOS *Development for Android *
Sandbox
Добрый день, хаброжители!
Сейчас все мобильные приложения(за очень редким исключением) используют сеть: для авторизации, получения/отправки данных и т.д.
Свой опыт на эту тему я решил собрать в статье.
Работа с сетью в стандартном приложении сводится к решению нескольких задач:
  • авторизация
  • запрос и отправка данных
  • хранение данных
  • работа с картинками

Читать дальше →
Total votes 19: ↑12 and ↓7 +5
Views 3.9K
Comments 11

На что были похожи логотипи компаний прежде, чем они стали известны

Lumber room
Recovery mode
Здравствуй Хабр. Логотип компании часто считают самым критическим элементом корпоративного бренда. Stocklogos.com, сообщество дизайнеров, которое предлагает высококачественные логотипы, составило список логотипов «прежде и после» для 10 самых больших брендов.

1. AT&T.

В 1900 Bell Telephone Company спроектировала оригинальний логотип. В 1964 логотип «AT&T» стал элементом фирменного стиля Bell Telephone Company. Последнея эмблема AT&T была выпущена в 2005.



2. Canon.

В 1933 был первоначально разработан логотип Canon. В 1956 была введена более простая версия логотипа компании.


Читать дальше →
Total votes 85: ↑40 and ↓45 -5
Views 15K
Comments 33

Анимация UIView: перемещение по произвольной траектории на примере окружности

Development for iOS *
Sandbox
Tutorial
Пожалуй, большинство iOs разработчиков знают, что для реализации различных визуальных эффектов, обычно, достаточно нескольких строчек кода. Фреймворк UIKit, отвечающий за стандартный интерфейс, имеет встроенные средства, позволяющие делать довольно изощрённые виды анимации — от перемещения по прямой, до эффекта переворачивания страницы. Однако, для перемещения наследников UIView по более сложной траектории, приходится спускаться ниже и переходить на уровень фреймворка Core Graphics. При этом, количество примеров в сети снижается и бывает сложно найти необходимое. А если и находится, то качество реализации, зачастую, оставляет желать лучшего. С такой ситуацией я и столкнулся, когда возникла необходимость сделать анимацию интерактивной книги для детей.

Читать дальше →
Total votes 23: ↑22 and ↓1 +21
Views 5.7K
Comments 7

box-, cocos- и пицца- 2d

Development for iOS *Game development *
Tutorial
В этой статье я хочу поделиться с вами историей создания первой iOS игры в нашей компании и рассказать про опыт использования 2d графического движка — cocos2d. В рассказе мы пройдемся по некоторым техническим проблемам, с которыми нам пришлось столкнуться во время разработки игры, и расскажем про эволюцию геймплея от начала и до конца.

image
Читать дальше →
Total votes 33: ↑23 and ↓10 +13
Views 17K
Comments 24

Менеджер пакетов для XCode

Development for iOS *
Сегодня обнаружил достойный внимания всех разработчиков, пишущих под iOS/Mac OS и использующих XCode, проект – менеджер плагинов для XCode. Имя этому проекту – Alcatraz. Увидев это чудо, я незамедлительно захотел его протестировать, благо установка выполняется тремя действиями:
1. Запустить терминал
2. Вставить следующий код в окно терминала:
mkdir -p ~/Library/Application\ Support/Developer/Shared/Xcode/Plug-ins;
curl -L http://goo.gl/xfmmt | tar xv -C ~/Library/Application\ Support/Developer/Shared/Xcode/Plug-ins -

3. Нажать Enter.
Читать дальше →
Total votes 29: ↑28 and ↓1 +27
Views 10K
Comments 15

Разработка контентного приложения для iOS, атакуем русский App Store

Development for iOS *Development of mobile applications *
Sandbox
Вступление

Разработчиком мобильных приложений под iOS я стал совсем недавно. Все началось с обычного увлечения, когда пришла мысль попробовать свои силы в новых технологиях. После нескольких успешных проектов на фрилансе я решился на разработку своего собственного приложения – визитки для фирмы, в которой на тот момент работал инженером-конструктором. К сожалению, после всех согласований и утверждений, когда проект уже был в рабочем состоянии на моем телефоне, я так и не смог получить добро на публикацию его в App Store. Бюрократическая машина в нашей стране работает исправно.



Читать дальше →
Total votes 13: ↑9 and ↓4 +5
Views 6.2K
Comments 9

Преодолеваем скрытые опасности KVO в Objective C

True Engineering corporate blog Development for iOS *Objective C *
The major difference between a thing that might go wrong and a thing that cannot possibly go wrong is that when a thing that cannot possibly go wrong goes wrong it usually turns out to be impossible to get at or repair.
— Douglas Adams


Objective C существует уже с 1983 года и является ровесником C++. Однако, в отличие от последнего он начал приобретать популярность только в 2008 году, после выхода iOS 2.0 — новой версии операционной системы для революционного iPhone, включавшей приложение AppStore, позволяющее пользователям приобретать приложения, создаваемые сторонними разработчиками.
Дальнейший успех Objective C обеспечивался не только популярность устройств на базе iOS и относительной легкостью продаж через AppStore, но и значительными усилиями компании Apple по совершенствованию как стандартных библиотек, так и самого языка.
Согласно рейтингу TIOBE к началу 2013 года Objective C обогнал по популярности C++ и занял третье место, уступая только C и Java.

На сегодняшний день Objective C включает и такие относительно старые функции как KVC и KVO, существовавшие еще за 4 года до выхода первого iPhone, и такие новые возможности как блоки (blocks, появившиеся в Mac OS 10.6 и iOS 4) и автоматический подсчет ссылок (ARC, доступный в Mac OS 10.7 и iOS 5), которые позволяют с легкостью решать задачи, вызывавшие серьезные трудности ранее.

KVO — это технология, позволяющая незамедлительно реагировать в одном объекте (наблюдателе) на изменения состояния другого объекта (наблюдаемого), без внесения знаний о типе наблюдателя в реализации наблюдаемого объекта. В Objective C, наряду с KVO, существует несколько способов решения этой задачи:

Читать дальше →
Total votes 15: ↑13 and ↓2 +11
Views 25K
Comments 6

Objective-D — альтернатива или дополнение к Objective-C

Programming *Development for iOS *Objective C *
Objective-C, по-моему мнению, — не очень удобный язык со множеством проблем. Но мы вынуждены писать приложения под iOS на этом языке. Я разработал другой язык, который генерирует код Objective-C. Поэтому в этом языке вы можете легко использовать классы Objective-C и C функции. Вы также легко можете использовать сгенерированные классы в коде Objective-C. Так что есть возможность вести разработку сразу на двух языках. Я назвал этот язык Objective-D.
Читать дальше →
Total votes 92: ↑81 and ↓11 +70
Views 20K
Comments 55

Как я написал и выпустил книгу по разработке игр под iOS

Development for iOS *Game development *


В прошлом году вышла iOS7. В ней был ряд нововведений, включая новую библиотеку для разработки игр — Sprite Kit. Геймдев — мое небольшое хобби, которым я занимаюсь после работы по возможности, и конечно он меня заинтересовал.

Написал пару маленьких проектов по нему для изучения фреймворка, по привычке выложил в гитхаб, начал делать свою полноценную игру на нем.
И вот некоторое время спустя этих событий ко мне на почту пришло письмо от одного англоязычного издательства. В письме менеджер по поиску авторов писал о том, что видел мои маленькие проекты на гитхабе, и так как они ищут автора для книги по Sprite Kit, предложил мне написать книгу.
Читать дальше →
Total votes 136: ↑125 and ↓11 +114
Views 42K
Comments 54

Наш опыт ускорения приложений на iOS

VK corporate blog Development for iOS *Xcode *


Меня зовут Митя Куркин, я руковожу разработкой iOS мессенджеров Mail.Ru Group. Сегодня я расскажу о нашем опыте ускорения приложений на iOS. Высокая скорость работы очень важна для 99% приложений. Особенно это актуально на мобильных платформах, где вычислительные мощности и, соответственно, заряд аккумулятора весьма ограничены. Поэтому каждый уважающий себя разработчик стремится оптимизировать работу своего приложения с целью устранения различных задержек, из которых складывается общее время реакции.
Читать дальше →
Total votes 59: ↑50 and ↓9 +41
Views 17K
Comments 6

Интеграция PayPal Here в iOS-приложение

e-legion corporate blog Development for iOS *Objective C *
Работая над одним проектом, я столкнулся с необходимостью интегрирования PayPal Here в приложения. PayPal вообще никогда не шел на встречу разработчикам, интегрироваться было достаточно сложно, но с PayPal Here дело обстоит несколько иначе (есть целый пример на gitHub’е). Одним словом, если вы владелец интернет-магазина, интернет-аукциона или вообще хотите проводить оплату в своем приложении, то вам будет интересно почитать о том, как можно интегрировать PayPal Here в iOS.

image

Кстати, несмотря на большое количество интернет-магазинов, оплата в которых осуществляется через PayPal, сервис PayPal Here до сих пор не доступен в российском сторе.

Читать дальше →
Total votes 21: ↑16 and ↓5 +11
Views 6.7K
Comments 9

Swift: проблемы и перспективы

Development for iOS *Swift *
Второго июня 2014 года в мире Apple случилось то, чего не ожидал никто. Apple представила новый объектно-ориентированный язык программирования — Swift.

Чем может привлечь Swift?
В отличие от Objective-C, в котором для каждого класса необходимо создавать файлы *.h и *.m с интерфейсом и реализацией соответственно, в Swift нужно создать лишь один файл *.swift, в котором содержатся и интерфейс, и реализация. Это значит, что исходных файлов в проекте будет в 2 раза меньше, что является плюсом. Однако возникает вопрос — как же разделить свойства класса и методы на публичные и приватные? В Objective-C мы привыкли «прятать» приватные свойства и методы в *.m файлы. Сделать это в Swift на данный момент невозможно.
Читать дальше →
Total votes 53: ↑35 and ↓18 +17
Views 37K
Comments 33

Multiple Delegate

e-legion corporate blog Development for iOS *Cocoa *
В Cocoa очень популярен паттерн делегирование. Стандартный способ реализации этого паттерна — добавление к делегатору weak свойства, которое хранит ссылку на делегат.

У делегирования много различных применений. Например, реализация какого-то поведения в другом классе без наследования. Еще делегирование используется как способ передачи уведомлений. Например, UITextField вызывает у делегата метод textFieldDidEndEditing:, который информирует его о том, что редактирование закончено, и т.д.

А теперь представьте задачу: надо сделать так, чтобы делегатор посылал сообщения не одному делегату, а нескольким, причем делегирование реализовано стандартным методом через свойство.
Читать дальше →
Total votes 22: ↑20 and ↓2 +18
Views 9.6K
Comments 6