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

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

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

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

Beta-тест C# анализатора PVS-Studio на Linux и macOS

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

Picture 1

Всё больше пользователей C# анализатора PVS-Studio интересуются возможностью его использования для проверки C# кода на Linux и macOS. И сегодня у нас хорошие новости.
Читать дальше →
Всего голосов 10: ↑8 и ↓2+9
Комментарии5

Улучшения специальных возможностей в Visual Studio 2019 for Mac

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

Выпуск Visual Studio 2019 for Mac версии 8.4.4 включает в себя многочисленные изменения в цветовой палитре значков, предупреждений и сообщений об ошибках. Новый внешний вид легко бросается в глаза, а новая цветовая гамма еще более заметна. В это статье я расскажу, почему эти изменения действительно важны и что именно было изменено.

В настоящее время более 1 миллиарда человек имеют ту или иную форму инвалидности. Людям практически ежедневно приходится сталкиваться с различными проблемами. К ним относятся ограничения подвижности, когнитивные и нервные нарушения, проблемы с речью и слухом. В связи с этим мы хотим рассказать об улучшениях визуальной доступности в самых последних версиях Visual Studio for Mac.
Читать дальше →
Всего голосов 4: ↑4 и ↓0+4
Комментарии1

Управление Mac в мире Windows

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


Большинство организаций используют System Center Configuration Manager для автоматизации процессов системного администрирования. Одна незадача: базовая функциональность SCCM ограничена для macOS. Поскольку с каждым годом количество «яблочной» техники в компаниях растет, проблема становится все актуальнее. О том, как эффективно управлять Mac-устройствами в корпоративной среде, используя при этом существующую инфраструктуру, рассказывает руководитель команды разработки Parallels Mac Management Тимофей Фуряев.
Читать дальше →
Всего голосов 18: ↑18 и ↓0+18
Комментарии8

Swift 5.2 — что нового?

Время на прочтение3 мин
Количество просмотров8K
Первая бета Swift 5.2 только что появилась в Xcode 11.4 beta, и в ней произошли изменения в языке, наряду с сокращением размера кода и используемой памяти, а также появилась новая система диагностики, которая позволит быстрее выявлять ошибки.
Читать дальше →
Всего голосов 9: ↑9 и ↓0+9
Комментарии23

Истории

Протокольно-ориентированное программирование в Swift 5.1

Время на прочтение10 мин
Количество просмотров15K
Протоколы — фундаментальное свойство Swift. Они играют важную роль в стандартных библиотеках Swift и являются обычным способом абстракции кода. Во многом они похожи на интерфейсы в других языках программирования.

В этом руководстве мы представим вам подход к разработке приложений, называемый «протокольно-ориентированным программированием», который стал практически основным в Swift. Это действительно то, что вам необходимо уяснить при изучении Swift!

В этом руководстве вы:

  • поймёте разницу между объектно-ориентированным и протокольно-ориентированным программированием;
  • разберётесь со стандартной реализаций протоколов;
  • научитесь расширять функционал стандартной библиотеки Swift;
  • узнаете, как расширять протоколы при помощи дженериков.
Читать дальше →
Всего голосов 6: ↑4 и ↓2+6
Комментарии10

Использование перехватов операций для бэкапа файлов в macOS “на лету”

Время на прочтение6 мин
Количество просмотров4.1K
Привет, Хабр! Меня зовут Денис Копырин, и сегодня я хочу рассказать о том, как мы решали проблему бэкапа по требованию на macOS. На самом деле интересная задача, с которой я столкнулся в институте, выросла в итоге в большой исследовательский проект по работе с файловой системой. Все подробности – под катом.

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

Visual Studio for Mac: управляйте своей IDE с помощью клавиш

Время на прочтение3 мин
Количество просмотров4.2K
Великие дебаты в области вычислительной техники имеют одну общую тему. Будь то противостояние табов и пробелов или Vi и Emacs, поток, связывающий эти дебаты вместе, —эффективность использования клавиатуры. Правда в том, что, когда мы тратим массу часов, работая программах, использование горячих клавиш становится для нас чем-то автоматическим, такой же мышечной памятью, какой обладают великие пианисты или спортсмены.

Если вы вдруг дадите виртуозному пианисту пианино, где клавиши вдвое шире, а клавиши диез/бемоль находятся ниже, а не выше естественных клавиш, то ему придется постараться, чтобы воспроизвести даже самые простые мелодии, пока он изучает новую аранжировку. Аналогично, когда речь заходит о сочетаниях клавиш в вашей любимой IDE, любое изменение может быстро дезориентировать. К счастью, Visual Studio for Mac предлагает обширные возможности настраивания привязок клавиш, которые позволяют настраивать сочетания клавиш по своему вкусу.

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

Чистим Dock и делаем приложение без xCode

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


Мы сделаем программу для запуска приложений из панели статуса.
Вам понадобится terminal, Swift версии 3.1 или выше и любой текстовый редактор.
Я проверял работу на macOS Sierra 10.12.6 и macOS Catalina 10.15.
Читать дальше →
Всего голосов 11: ↑11 и ↓0+11
Комментарии5

Делаем кроссплатформенное нативное десктоп приложение на Angular

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

angular-nodegui


Как вы уже наверно знаете, Angular уже есть во многих платформах:



Ну и, конечно, здесь не хватало десктопа (не будем пока про Electron).

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

Есть ли вирусы под Мас?

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


Есть ли «вирусы» под Mac? Если совсем коротко, то скорее да, чем нет. Хотите узнать, почему такой немного странный ответ?
Читать дальше →
Всего голосов 29: ↑29 и ↓0+29
Комментарии16

Xcode 11 и XCFrameworks: новый формат упаковки фреймворков

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


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


В случае разработки под платформу iOS, да и в целом, экосистему Apple, есть два варианта подключать библиотеки в качестве зависимостей:


  1. Собирать их каждый раз при сборке приложения.
  2. Собирать их заранее, используя уже собранные зависимости.

При выборе второго подхода становится логичным использовать CI/CD системы для сборки библиотек в готовые к употреблению артефакты.


Однако, необходимость собирать библиотеки под несколько платформ или архитектур процессора в экосистеме Apple, зачастую, требует проводить не всегда тривиальные операции, как при сборке библиотеки, так и конечного продукта, который её использует.


На этом фоне, было сложно не заметить и крайне интересно изучить, одно из нововведений от Apple, представленное на WWDC 2019 в рамках презентации Binary Frameworks in Swift — формат упаковки фреймворков — XCFramework.


XCFramework имеет несколько преимуществ, в сравнении с устоявшимися подходами:


  1. Упаковка зависимостей под все целевые платформы и архитектуры в единый bundle из коробки.
  2. Подключение bundle в формате XCFramework, как единой зависимости для всех целевых платформ и архитектур.
  3. Отсутствие необходимости в сборке fat/universal фреймворка.
  4. Нет необходимости избавляться от x86_64 слайсов (slice) перед загрузкой конечных приложений в AppStore.

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

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

Avalonia мои за и против

Время на прочтение3 мин
Количество просмотров12K
Я очень много пишу про Авалонию и часто восторгаюсь этим фреймворком, но, как и у любой технологии, у нее есть свои достоинства и недостатки, о них и хотелось бы поговорить.

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

Как подписывать приложения для macOS Catalina 10.15

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

[Прим. пер.: переведя вызвавший широкое обсуждение на Хабре пост, я заинтересовался новыми правилами для разработчиков ПО, введёнными компанией Apple. В этой статье рассказывается о личном опыте освоения правил одним из разработчиков игр.]

Введение


В новой версии macOS Apple сделала обязательными некоторые требования к приложениям, которые раньше были рекомендациями: 64-битные исполняемые файлы, подписывание и нотаризация. Не удовлетворяющие этим требованиям приложения больше запускаться не будут.

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

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

Я только что закончил разбираться с тем, как реализовать соответствие этим требованиям для моей игры Airships: Conquer the Skies. Airships работают на Java, а потому требуют ещё и JVM, но в целом всё остальное будет применимо для большинства разработчиков.

Вот что я узнал о подписывании и нотаризации приложения для Mac, которое не было скомпилировано непосредственно Xcode. Учтите, что информация получена из моих собственных исследований и может быть точной не на 100%. Вопросы и поправки приветствуются.
Читать дальше →
Всего голосов 15: ↑15 и ↓0+15
Комментарии11

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

19 августа – 20 октября
RuCode.Финал. Чемпионат по алгоритмическому программированию и ИИ
МоскваНижний НовгородЕкатеринбургСтавропольНовосибрискКалининградПермьВладивостокЧитаКраснорскТомскИжевскПетрозаводскКазаньКурскТюменьВолгоградУфаМурманскБишкекСочиУльяновскСаратовИркутскДолгопрудныйОнлайн
24 – 25 октября
One Day Offer для AQA Engineer и Developers
Онлайн
25 октября
Конференция по росту продуктов EGC’24
МоскваОнлайн
26 октября
ProIT Network Fest
Санкт-Петербург
7 – 8 ноября
Конференция byteoilgas_conf 2024
МоскваОнлайн
7 – 8 ноября
Конференция «Матемаркетинг»
МоскваОнлайн
15 – 16 ноября
IT-конференция Merge Skolkovo
Москва
25 – 26 апреля
IT-конференция Merge Tatarstan 2025
Казань

Как я не смог включить MacBook из-за удаления TeamViewer

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

Тем кому лень читать полностью, в конце я добавил простое решение.

Вчера я столкнулся с совершенно неожиданным стечением обстоятельств во время очередного обновления MacOS. Я вообще очень люблю обновления ПО, всегда хочется посмотреть на новые возможности той или иной программы. Когда летом я увидел, что можно скачать и поставить MacOS 10.15 Catalina Beta, я сознательно не стал этого делать, понимая, что beta может содержать значительное количество багов, а MacBook мне нужен ежедневно по работе. И вот вчера я увидел долгожданное уведомление.

image

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

Проблема тут вовсе не в TeamViewer.
Читать дальше →
Всего голосов 76: ↑48 и ↓28+20
Комментарии287

Представляем управление пакетами NuGet на уровне решения в Visual Studio для Mac

Время на прочтение2 мин
Количество просмотров2.9K
Visual Studio 2019 для Mac версии 8.3 поставляется со многими новыми функциями, кратко изложенными в этом посте в блоге. Возможность управлять пакетами на уровне решения была одной из тех возможностей, которых большинству из вас не хватало в Visual Studio для Mac. Новый диспетчер пакетов NuGet уровня решения является одной из крутых новых функций Visual Studio 2019 для Mac версии 8.3.

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

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

Visual Studio for Mac: 5 новых крутых функций

Время на прочтение5 мин
Количество просмотров7.3K
За прошедший год команда Visual Studio for Mac обновила редакторы в среде IDE, чтобы они стали быстрее, плавнее и продуктивнее. Мы сделали это, создав нативный интерфейс редактора macOS на основе того же самого бэкенда редактора, что и Visual Studio в Windows. В версии 8.1 мы представили новый редактор C#. За этим последовал новый редактор XAML в 8.2. И совсем недавно мы обновили наши веб-языки для использования новых редакторов в версии 8.3, завершая процесс, который мы намеревались выполнить год назад.

Чтобы отпраздновать это достижение, я хочу поделиться некоторыми подробностями, касающимися дизайна и реализации новых редакторов, а также моими пятью любимыми новыми функциями в редакторах кода Visual Studio для Mac.

В основе обновленных редакторов в Visual Studio для Mac лежит служба общего языка с Visual Studio для Windows. Это означает, что тот же самый бэкэнд, который поддерживает версию Visual Studio для Windows, теперь также поддерживает версию macOS. Все это включает в себя IntelliSense, Roslyn, текстовую логику и все языковые сервисы за кулисами. Единственная часть, не общая в Windows и macOS, это слой пользовательского интерфейса, который остается нативным для каждой платформы.

В случае macOS это означает использование фреймворков macOS, таких как Cocoa и CoreText, для расширения возможностей пользовательского интерфейса. Благодаря использованию нативного пользовательского интерфейса, а также возможности использования нативных методов ввода, есть поддержка языков с написанием справа налево, лигатур шрифтов и других расширенных графических функций.

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

Простите, пользователи macOS, но Apple зашла слишком далеко

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

Несколько лет назад, когда был выпущен первый релиз Cogmind, я без предрассудков относился к выпуску официальной версии под Mac. В конце концов, Cogmind — моя первая коммерческая игра, раньше я выпускал только хобби-проекты в статусе freeware и только под Windows, поэтому не был уверен, какие результаты даст поддержка дополнительных платформ. Поэтому я решил подождать и посмотреть стоит ли в каком-то виде реализовывать официальную поддержку на Mac.

Тем временем я убедился, что Cogmind (и другое моё ПО) идеально работает через Wine и подобные ему пакеты. Разумеется, в Steam я никогда не говорил о поддержке Mac, потому что это не был отдельный скачиваемый файл, работающий сам по себе. Я готовился к выпуску версии 1.0, и откладывал решение о том, стоит ли принимать меры для реализации полной поддержки платформы, на будущее.

На текущий момент я уже достаточно прождал и увидел, чтобы прийти к осмысленному решению: официальная поддержка macOS просто недостижима для меня.

Почему такое решение было принято именно сейчас: если вы следите за разработчиками инди-игр, сообществами или новостями, то должны были слышать о шумихе, связанной с Apple. К сожалению, мой голос тоже присоединится к этому хору.
Читать дальше →
Всего голосов 156: ↑141 и ↓15+126
Комментарии563

Как мы в Parallels покоряли Sign In with Apple

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


Думаю у многих уже после WWDC 2019 на слуху Sign In with Apple (кратко SIWA). В материале я расскажу с какими конкретно подводными камнями пришлось столкнуться при интеграции этой штукенции в наш лицензионный портал. Данная статья не совсем для тех, кто только решил разобраться с SIWA (для них я дал ряд ознакомительных ссылочек в конце текста). В этом материале, скорее всего, многие найдут ответы на вопросы, которые могут возникнуть при интеграции нового сервиса Apple.
Всего голосов 27: ↑26 и ↓1+25
Комментарии0

Монтируем iOS под OSX с помощью ifuse

Время на прочтение2 мин
Количество просмотров6.2K
На днях столкнулся с задачей примонтировать в OSX 10.14 iPad в качестве внешнего диска, с возможностью осуществлять файловые операции из консоли. В интернете я нашел довольно много инструкций как это сделать с помощью файловой системы ifuse. К сожалению с iOS 12 ничего не вышло. Устройство было разблокировано, доступ к данным разрешен, но несмотря на это возникала ошибка:

Failed to connect to lockdownd service on the device.
Try again. If it still fails try rebooting your device.

Данная статья написана чтобы сэкономить время тем у кого возникнет та же задача.
Читать дальше →
Всего голосов 15: ↑15 и ↓0+15
Комментарии0

Знакомство с HealthKit

Время на прочтение17 мин
Количество просмотров11K
В этой статье про HealthKit вы узнаете, как запрашивать разрешение на доступ к данным HealthKit, а также считывать и записывать данные в центральный репозиторий HealthKit. В статье используется Swift 4, iOS 11, Xcode 9 версии.

HealthKit — это API, которое было представлено в iOS 8. HealthKit служит как центральный репозиторий для всех данных, связанных со здоровьем, позволяя пользователям создавать биологический профиль и хранить данные о тренировках.

По ходу прочтения статьи о HealthKit, вы создадите простейшее приложение для отслеживания тренировок и узнаете:

  • Как запросить разрешение и получить доступ к данным HealthKit
  • Как читать данные HealthKit и отображать их в UITableView
  • Как записать данные в центральный репозиторий HealthKit

Готовы начать знакомство с HealthKit? Читайте дальше!
Читать дальше →
Всего голосов 11: ↑11 и ↓0+11
Комментарии0

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