Рубрика «swift» - 21

Предисловие

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

Встроили мы как-то раз в приложение Яндексмапкит (октябрь 2017 года примерно) вместо эпловых карт (ничего личного — только бизнес). Через месяца 3 в один прекрасный зимний день Андройд версия карт вышла из строя на дня 2 из-за ключей, карта просто превратилась в тыкву) На что в чатике от руководства проскочило: “на андройде карты сломали, починить не знают как” В то время, как iOS-клиента это не коснулось. Бедолаги на андройде… на этот раз ребята были не причем ведь. В те дни упали многие прилаги: почта России, Утконос, может помните ребята?

Сказ о том как я Yandex MapKit на iOS обновлял или карты, деньги, 2 мапкита - 1

Это я к тому, что когда ваше приложение завязано на сторонние сервисы, то неплохо бы иметь план “Б” на этот случай, например переключить на предыдущий вариант реализации карт от Apple, а не заменять один на другой…

Еще через месяца 3, где-то в марте от Яндекса прилетело письмо, что наконец-то обновили они sdk, (прошло совсем немного времени, года 4-5 с предшествующего обновления):
"-Обновляйтесь, через год старый отключим", вкратце. До этого просто была старая версия 1.0

Сказ о том как я Yandex MapKit на iOS обновлял или карты, деньги, 2 мапкита - 2
Читать полностью »

Перевод статьи Practical CoreBluetooth for Peripherals

Пару лет назад, впервые столкнувшись в рабочем проекте с Bluetooth, нашел эту статью, которая сильно помогла понять, как это работает, найти “отправную” точку. Надеюсь, что пригодится новичкам.
Об авторе:
Йоав Шварц — ведущий iOS разработчик в Donkey Republic, системе байкшеринга в Копенгагене, стремящийся изменить отношение к велотранспорту. Далее речь пойдет от лица автора.

В этой статье я расскажу о практических приемах работы с CoreBluetooth. Сначала о Bluetooth Low Energy (BLE) потому, что не все знакомы с этой технологией, потом о CoreBluetooth, фреймворке от Apple, который даёт нам возможность взаимодействовать с устройствами BLE. Также я поведаю о некоторых приёмах в разработке, о которых сам узнал, пока занимался отладкой, плакал и рвал на голове волосы. Читать полностью »

Что за ерунда происходит с рейтингами популярности языков программирования? - 1

Я сегодня изучал индекс TIOBE, как делаю часто, и как часто делает большинство из тех профессиональных программистов, которых я знаю. Он претендует на измерение популярности языков программирования в мире, а его график изменения популярности со временем рассказывает простую историю: Java и C с незапамятных времён остаются королями языков с большим отрывом.

Но, погодите-ка, давайте не так быстро. Конкурирующий список PYPL Index (PopularitY of Programming Languages) говорит, что королями являются Python и Java, а C (учитываемый, внезапно, совместно с C++) находится где-то в глубине списка. Что происходит?

Просто у двух этих списков очень разные методологии подсчётов. Однако их объединяет одно – спорность их методологий, если учитывать, что их целью является измерение популярности языков программирования. TIOBE измеряет просто количество запросов в поисковике. PYPL измеряет, как часто люди гуглят обучающие материалы по тому или иному языку.
Читать полностью »

Жил был скромный вью-контроллер VCYellow. И не было у него ни картинки, ни текста, ни даже малюсенькой бизнес логики. Жил он обычной вью-контроллерской жизнью.

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

Паттерн MVP в разработке мобильных приложений — это довольно простой способ разгрузить ViewController и вынести часть логики в презентер. Презентер начинает обрастать логикой, которая легко поддается тестированию.

Пусть есть экран MelodyListViewController показывающий список мелодий. У него есть презентер MelodyListPresenter, который говорит ViewController что показывать. Данные презентер будет брать из сервиса MelodyService. MelodyService это обертка над базой данных и api клиентом, загружающая мелодии. Если сеть доступна, сервис берет данные с api, иначе с базы данных. Типы ошибок загрузки представлены в enum ServiceRequestError.Читать полностью »

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

Под катом вы найдете дополненную расшифровку выступления Александра Сычева (Brain89) на AppsConf, в котором он поделился вариантами применения конечного автомата при разработке неигровых приложений.

О спикере: Александр Сычев занимается iOS-разработкой восемь лет, за это время участвовал в создании как простых приложений, так и сложных клиентов для социальных сетей и финансового сектора. В данный момент является техлидом в компании Сбербанк.
Читать полностью »

От презентации Apple, которая должна была пройти 12 сентября, ничего особенного не ждали: три новых модели iPhone и новую версию Apple Watch — об этих новинках знали заранее. Тем не менее, мы в Авито не могли пропустить это событие. Когда за пару дней до Very Special Event мы поняли, что образовалась компания из тех, кто не хочет смотреть трансляцию в одиночку, то решили позвать в гости наших друзей — iOS-разработчиков из других компаний. Посмотреть мероприятие вместе, обсудить новинки (и то, как они повлияют на разработку приложений под iOS), поесть шаурму, выпить смузи, вот это всё.

Рассказываю под катом, как мы смотрели Apple Special Event, и что думают мои коллеги о новых устройствах и фичах компании из Купертино.

Very Special Event: как мы смотрели презентацию Apple и что об этом думаем - 1Читать полностью »

Наверное, в каждом большом iOS-проекте — долгожителе можно наткнуться на иконки, которые нигде не используются, или обращения к ключам локализации, которые уже давно не существуют. Чаще всего такие ситуации возникают из-за невнимательности, а лучшее лекарство от невнимательности — автоматизация.

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

Какое-то время назад нам удалось взять ресурсы приложения под контроль с помощью утилиты SwiftGen. О том, как ее настроить, как с ней жить и как эта утилита помогает переложить проверку актуальности ресурсов на плечи компилятора, и пойдет речь под катом.

Контроль над ресурсами. Настраиваем SwiftGen - 1

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

image

Введение

WWDC15 – Apple анонсирует переход на Universal Links. Их смысл непомерно прост – отправлять пользователя в приложение, если он переходит на страницу сайта, которую приложение поддерживает. Наиболее часто это применяется в письмах, которые отправляются после регистрации для подтверждения электронной почты. Таким образом, Universal Links избавляет пользователя от необходимости самостоятельно возвращаться в приложение – а это хорошо как для пользовательского опыта, так и для статистики.
Читать полностью »

Привет!

Новости из мира финтеха за неделю набрались такие:

  • Банки жалуются на дороговизну новой биометрической системы;
  • Visa запускает в России сервис денежных переводов по номеру телефона;
  • SWIFT остается работать в России;
  • Курс биткоина в Иране превысил $26000.

Банки и биометрия

Финтех-дайджест: SWIFT продолжит работу в РФ, VISA позволит переводить средства по номеру телефона, дорогая биометрия - 1
Рисунок: Виктор Чумачев / Коммерсантъ

В недавнем дайджесте мы писали, что в России начинает работать единая биометрическая система, которая облегчает жизнь как банкам, так и их клиентам. Для того чтобы к этой системе присоединиться, необходим перечень базовых элементов. Они нужны для сбора биометрических данных и передачи их в Единую биометрическую систему.

Как оказалось, минимальные затраты на подключение к такой системе банка с одним отделением составляют примерно 4 млн. рублей, каждое новое отделение обойдется еще в 130 тысяч. А избежать расходов просто нельзя — дело в том, что к концу 2019 года система должна начать работу во всех отделениях всех банков.
Читать полностью »


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