Как стать автором
Обновить
14.38

Разработка под macOS *

Пишем под настольную ОС Apple

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

Пишем библиотеку для запроса оценки в AppStore

Время на прочтение4 мин
Количество просмотров2.8K

? Всем привет. Меня зовут Алексей Межевикин. Я iOS-разработчик c 2011 года. Последнии 4 года занимаюсь разработкой, монетизацией и продвижением своих приложений.

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

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

Читать далее
Всего голосов 3: ↑2 и ↓1+1
Комментарии6

Для подписи приложений iOS/macOS не нужен компьютер Apple

Время на прочтение4 мин
Количество просмотров11K


В экосистеме Apple сейчас так устроено, что для выпуска приложений iOS/macOS требуется получение сертификата, затем подпись кода и нотаризация подписи. Согласно документации, подпись кода гарантирует пользователям, что приложение получено из известного источника и не изменялось. Для получения и использования сертификатов требуется участие в программе Apple Developer Program.

Такая система удобна с точки зрения безопасности закрытой экосистемы Apple, но создаёт некоторые трудности для разработчиков.

Однако любые трудности на то и существуют, чтобы их преодолевать.
Читать дальше →
Всего голосов 24: ↑24 и ↓0+24
Комментарии6

Создание 3D-моделей из фото с Object Capture API

Время на прочтение7 мин
Количество просмотров25K

Обычно чтобы создать одну точную и реалистичную 3D-модель предмета реального мира средней сложности требуется несколько часов работы профессионального художника. Тем временем, с развитием AR и VR сильно растет запрос на быстрое и недорогое создание качественных моделей. Для этих целей в macOS Monterey в составе RealityKit был представлен Object Capture API, который позволяет автоматизировать этот процесс. Object Capture использует алгоритмы фотограмметрии и может преобразовать серию фотографий в высококачественную 3D-модель оптимизированную для дополненной реальности всего за несколько минут. API появился год назад, но про него мало писали, поэтому я предлагаю рассмотреть данный инструмент подробнее.

Читать далее
Всего голосов 4: ↑4 и ↓0+4
Комментарии0

Flutter на Python

Время на прочтение3 мин
Количество просмотров38K


Приветствую вас, дорогие любители и знатоки Python! Знали ли вы, что можно разрабатывать кросплатформенные приложения, используя всю мощь и выразительность своего любимого змеиного языка в связке с ныне популярным фреймворком Flutter? Оказывается, такая возможность есть! Всех заинтересовавшихся прошу под кат за деталями.
Читать дальше →
Всего голосов 25: ↑23 и ↓2+27
Комментарии33

Истории

Python GUI. Обзор Hero Animation в библиотеке KivyMD

Время на прочтение5 мин
Количество просмотров7.5K

Приветствую вас, дорогие любители и знатоки Python! Сегодня как всегда будем делать обзор библиотеки для кроссплатформенной разработки, которая реализует набор виджетов в стиле Google Material Design для фреймворка Kivy — KivyMD. В этой статье рассмотрим пример создания и управления Hero анимациями, которые недавно были добавлены в библиотеку KivyMD.
Читать дальше →
Всего голосов 6: ↑6 и ↓0+6
Комментарии0

Чего ждать разработчику от WWDC 2022

Время на прочтение7 мин
Количество просмотров2.6K

Всем привет, с вами я, Анна Жаркова, ведущий разработчик компании Usetech. 

Итак, долгожданная ежегодная презентация WWDC состоялась, мы готовы обсудить представленные новинки и анонсированные сессии. В этом году на Keynote основной упор был сделан на:

- игры и разработку

- иммерсивный звук и изображение

- многооконность

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

- улучшенные возможности отслеживать состояние здоровья и физическую активность

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

Сразу скажу, что все сессии упомянуть не возможно. В этом году их много, они довольно разнообразные и разноплановые. От улучшений уже известных нам фреймворков (SwiftUI, WidgetKit, SharePlay) до совсем новых (WeatherKit, ScreenCaptureKit). Также верно сказано, что описания сессий в этом году не сильно многословны, видимо, что подстегнуть зрителей к просмотру всех.

Читать далее
Всего голосов 4: ↑4 и ↓0+4
Комментарии0

Apple всё ещё следит за вами. Без вашего согласия

Время на прочтение4 мин
Количество просмотров11K

В текущей версии macOS Monterey, при каждом обновлении системы на системе, содержащей чип M1, такой же как и все новые блестящие/быстрые маки с ARM ("Apple Silicon"), процесс обновления обращается в Apple, чтобы получить специальную подпись загрузки, известную на жаргоне Apple как "билет" (он же ticket).

Это делается абсолютно незашифрованным способом, через стандартный открытый 80 порт HTTP (точно такой же протокол, который запрещен для использования сторонними разработчиками приложений в App Store при передаче приватных данных, таких как уникальные идентификаторы, служащие PII) на хост gs.apple.com.

HTTP-запрос включает неизменяемые аппаратные уникальные идентификаторы (серийные номера чипов, известные как ECID), которые функционируют как суперкуки, и они видны вашей локальной сети, вашему интернет-провайдеру (или гостинице, или кофейне), всем, кто следит за сетевыми магистралями, и, конечно же, самим Apple.

Это позволяет любому определить примерное местоположение устройства, даже если он не находится рядом. Из-за того, что он может видеть IP-адрес клиента (что эквивалентно примерно геолокации на уровне города) и серийный номер устройства.

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

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

Читать далее
Всего голосов 23: ↑21 и ↓2+23
Комментарии8

Разработчик засыпает, просыпается маркетолог: как я приложение продвигал

Время на прочтение9 мин
Количество просмотров3.9K

Когда-то давно я думал, что вот напишу приложение, выложу, а дальше оно как-нибудь само наберёт популярность, взлетит в чарт, принесёт денег. Так бывает, но готовиться нужно к тому, что придётся заниматься «выводом на рынок и продвижением», и на это потребуются время и силы.

В прошлой статье я рассказал, как идея превратилась в продукт, а сегодня покажу, что сделал, чтобы он дошёл до своих пользователей.

Для продвижения нужен хоть какой-то план. О том, что делать в теории, уже написано много раз. Давайте посмотрим, что получилось на практике.

Читать далее
Всего голосов 16: ↑16 и ↓0+16
Комментарии6

50 вопросов и ответов для собеседования по Swift в 2022 году

Время на прочтение14 мин
Количество просмотров51K

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

Кроме того, не стесняйтесь использовать эти вопросы для собеседования по Swift для тренировки перед экзаменом.

Эти вопросы для собеседования расположены в случайном порядке, а не от простого к сложному.

Читать далее
Всего голосов 6: ↑4 и ↓2+2
Комментарии17

Как я визуализировал граф билда. Build Graph for Xcode

Время на прочтение11 мин
Количество просмотров9K

Каждый год я стараюсь запускать по одному пет-проекту. Самый первый начинался ещё до того, как я умел пользоваться Git, а последний вообще был не программой, а книгой про доступность. Каждый проект учил меня как программированию, так и подходу к продуктовой разработке, что потом помогало в работе и развивало мою карьеру. 

Пет — отличный способ прокачаться как начинающим разработчикам, так и опытным. Во время разработки пет-проекта можно побывать и программистом, и дизайнером, и менеджером, и маркетологом. 

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

Читать далее
Всего голосов 29: ↑28 и ↓1+31
Комментарии6

Редакторы документов МойОфис появились на macOS. Что они умеют?

Время на прочтение7 мин
Количество просмотров11K

Привет, Хабр! В начале этого года мы представили очередное крупное обновление 2022.01, а вместе с этим выпустили пакет приложений «МойОфис Стандартный» на macOS. Релиз для «Мака» стал ответом на многочисленные запросы наших коммерческих пользователей. Платформа Apple занимает второе место в рейтинге самых популярных десктопных ОС, и довольно востребована в бизнес-среде, в том числе и в России.

Под катом мы рассмотрим возможности «мак-версии» редакторов «МойОфис Текст» и «МойОфис Таблица». Приложения позволяют работать с документами в форматах ODF (ODT, ODS) и OOXML (DOCX, XLSX), импортировать данные из CSV-файлов и экспортировать в PDF. А кроме того: работать со сводными таблицами, формулами, макросами, перекрестными ссылками и решать многие другие задачи. Продукт совместим с macOS Catalina, Big Sure, а также Monterey.

Читать далее
Всего голосов 23: ↑21 и ↓2+25
Комментарии33

Таймер в .NET с интервалом 1 мс. macOS

Уровень сложностиСредний
Время на прочтение15 мин
Количество просмотров3.5K

Ранее мы уже посмотрели, чем нам может помочь .NET в реализации задачи, обозначенной в теме статьи, в Windows. Сейчас рассмотрим её решение в macOS.

Читать далее
Всего голосов 15: ↑15 и ↓0+15
Комментарии1

Роботизация для macOS по-взрослому

Время на прочтение4 мин
Количество просмотров3.8K

Несмотря на то, что на рынке существуют различные RPA-решения, большинство из них не работают на macOS. Microsoft выпускает самую распространенную операционную систему для конечных пользователей, и большинство вендоров предоставляют решения, совместимые только с Windows. При этом по данным StatCounter, macOS занимает четвертое место по доле рынка (8,25%) среди всех операционных систем.

Сегодня технология RPA (Robotic Process Automation) позволяет экономить тысячи человеко-часов за счет передачи рутинных задач роботам. До недавнего времени область применения RPA ограничивалась исключительно компьютерами под управлением Windows (если не брать в расчет компьютерное зрение «по удаленке»). В одном из прошлых постов мы с вами говорили о роботах под Linux, и вот, в декабрьской preview-версии, компания UiPath представила возможность использовать роботов под macOS! 

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

Статья написана при поддержке технического эксперта UiPath: Валентина Драздова.

Читать далее
Всего голосов 8: ↑7 и ↓1+8
Комментарии1

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

27 августа – 7 октября
Премия digital-кейсов «Проксима»
МоскваОнлайн
28 – 29 сентября
Конференция E-CODE
МоскваОнлайн
28 сентября – 5 октября
О! Хакатон
Онлайн
30 сентября – 1 октября
Конференция фронтенд-разработчиков FrontendConf 2024
МоскваОнлайн
3 – 18 октября
Kokoc Hackathon 2024
Онлайн
7 – 8 ноября
Конференция byteoilgas_conf 2024
МоскваОнлайн

Tcl/tk: интегрированная среда разработки TKproE-2.30

Время на прочтение10 мин
Количество просмотров5.1K
Прошло без малого пять лет как я впервые столкнулся с интегрированной средой разработки программ на tcl/tk TKproE-2.20. В апреле 2021 года вышла новая версия этого продукта — TKproE-2.30 и я полностью погрузился в её мир. Он меня заворожил. Название TKproE является аббревиатурой от TCL/TK Programming Environment. TKproE — это интегрированная среда разработки программ для языка сценариев TCL/TK. Сам TKproE полностью написан на языке TCL/TK. В преамбуле к TKproE подчёркнуто, что он поддерживает быструю разработку сложных графических пользовательских интерфейсов.

Что же принципиально нового появилось в новой версии по сравнению с версией 2.20 помимо нового логотипа?
Читать дальше →
Всего голосов 11: ↑9 и ↓2+8
Комментарии8

Подключаем RDP-клиента Windows к MacOS

Время на прочтение4 мин
Количество просмотров19K

Привет, Хабр! Меня зовут Холодаев Алексей, я младший системный администратор в Cloud4Y. Сегодня хочу поделиться способом подключения стандартного RDP-клиента Windows к MacOS. Если интересно, ныряйте под кат.

Читать далее
Всего голосов 25: ↑24 и ↓1+24
Комментарии8

Как устроен счетчик ссылок в Swift

Время на прочтение14 мин
Количество просмотров21K

Мы в iOS команде Vivid Money стремимся глубже понимать инструменты, которыми пользуемся каждый день. Один из таких – это язык программирования Swift. Он состоит из нескольких частей: компилятора, стандартной библиотеки и рантайма. Компилятор преобразует код понятный для человека в код понятный компьютеру. Стандартная библиотека предоставляет разработчикам готовые структуры данных, оптимизированные для применения в боевых проектах. А вот рантайм – это, поистине, сердце языка. В нем происходит выделение памяти, динамическое приведение типов и подсчет ссылок. И нам стало интересно, как реализован подсчет ссылок в рантайме. И  вот мы вдохновились публикациями легендарного Майка Эша (Mike Ash), собрали компилятор и начали исследовать. Посмотрели на работу алгоритма подсчета ссылок и в этой статье расскажем вам о нём.

Читать далее
Всего голосов 21: ↑21 и ↓0+21
Комментарии14

Python GUI. Библиотека KivyMD. Использование Blur эффекта

Время на прочтение8 мин
Количество просмотров14K

Приветствую вас, дорогие любители и знатоки Python! Сегодня как всегда будем делать обзор фреймворка для кроссплатформенной разработки Kivy и библиотеки виджетов в стиле Google Material Design для фреймворка Kivy - KivyMD. В этой статье мы рассмотрим как сделать blur эффект отдельных компонентов интерфейса пользователя. Я уже делал похожий обзор в статье Материальный Python. Кастомные карточки с OpenGL-эффектами, но нижеследующий материал несколько сложнее и в прямом смысле динамичнее. Что ж, начнем...

Читать далее
Всего голосов 2: ↑2 и ↓0+2
Комментарии11

Идеальный наблюдатель на Swift

Время на прочтение12 мин
Количество просмотров5.5K

В этой статье речь пойдёт о шаблоне проектирования «Наблюдатель» (Observer) и его реализации на Swift. Точнее — о его идеальной реализации.

Читать далее
Всего голосов 2: ↑2 и ↓0+2
Комментарии12

Как настроить бэкап мака (Time Machine) на Яндекс.Диск за 5 шагов

Время на прочтение1 мин
Количество просмотров12K
Поводом для написания данной статьи стало, как это не странно, большое количество информации на тему настройки тайммашины в облако. Но во всех статьях пропускали несколько неочевидных моментов. Далее я расскажу как настроить бэкап в облако за пять простых шагов.
Читать дальше →
Всего голосов 7: ↑1 и ↓6-5
Комментарии25

Apple Event Unleashed — текстовая трансляция

Время на прочтение4 мин
Количество просмотров12K
До хэллоуина еще вроде бы порядочно, но количество тыкв увеличивается каждую секунду. В них превращаются многочисленные макбуки, причем не только на процессорах с архитектурой x86, но и еще недавно свежие и быстрые модели на Apple M1.

Прошлогодние Macbook и Mac mini оказались просто на удивление удачными. Apple удалось обеспечить на 99% бесшовный переход между платформами. Я сам из любопытства купил Mac mini с M1, надеясь поймать много веселых багов и написать про них. Но вместо этого получил рабочую машинку, которая кодирует видео в пять (!) раз быстрее по сравнению с предыдущим поколением, а потребляет энергии в три раза меньше.

Но были и ограничения. В первую очередь удивлял максимальный объем памяти 16 Гбайт, что для серьезной работы, конечно, негусто. Портов совсем мало. Ну и ядер бы побольше да побыстрее.

Давайте посмотрим, что нам покажет дедушка Тим. Он уже зовет.

image

Читать дальше →
Всего голосов 31: ↑20 и ↓11+19
Комментарии82

Вклад авторов