Все потоки
Поиск
Написать публикацию
Обновить
74.87

macOS *

Настольная ОС компании Apple

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

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

Время на прочтение5 мин
Количество просмотров7.4K
За прошедший год команда 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, для расширения возможностей пользовательского интерфейса. Благодаря использованию нативного пользовательского интерфейса, а также возможности использования нативных методов ввода, есть поддержка языков с написанием справа налево, лигатур шрифтов и других расширенных графических функций.

Читать дальше →

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

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

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

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

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

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

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

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


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

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

Время на прочтение2 мин
Количество просмотров6.5K
На днях столкнулся с задачей примонтировать в 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.

Данная статья написана чтобы сэкономить время тем у кого возникнет та же задача.
Читать дальше →

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

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

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

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

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

Готовы начать знакомство с HealthKit? Читайте дальше!
Читать дальше →

Архитектурные подходы в iOS-приложениях

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

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

Читать дальше →

Архитектурный шаблон «Строитель» во вселенной «Swift» и «iOS»/«macOS»

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

В этот раз я бы хотел немного поговорить о еще одном порождающем шаблоне проектирования из арсенала «Банды четырех» – «Строителе» («Builder»). Так вышло, что в ходе получения своего (пусть и не слишком обширного) опыта, я довольно часто видел, чтобы паттерн использовался в «Java»-коде вообще и в «Android»-приложениях в частности. В «iOS» же проектах, будь они написаны на «Swift» или «Objective-C», шаблон встречался мне довольно редко. Тем не менее, при всей своей простоте, в подходящих случаях он может оказаться довольно удобным и, как модно говорить, мощным.

Читать дальше →

Процедура нотаризации Electron приложения для macOS 10.14.5

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

С выходом macOS 10.14.5, Apple добавила обязательную процедуру нотаризации (Notarization process) приложений перед их распространением. Что это и какие сложности возникли с этим обновлением при разработке на Electron.js я и хотел бы рассказать.


Читать дальше →

WWDC 2019 :: что посмотреть

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

На WWDC 2019 Apple показала одну из лучших Keynote-презентаций за последние несколько лет. Но это только начало. Нас ждёт более 100 сессий от инженеров Apple. Я собрал в списке доклады, которые, как мне кажется, будут полезны большинству iOS-разработчиков. Если не знаете, за что браться, то попробуйте начать с них.


Читать дальше →

WWDC 2019: главное с презентации Keynote по версии роботов

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


В противовес прошлой WWDC, где основной фокус был на быстродействие и небольшие улучшения, сегодня представили все и сразу: новый Mac Pro, новые сервисы и давно желаемые функции для разработчиков. Кто-то говорит, что это лучший WWDC с 2014 года, когда представили новый язык программирования Swift. Мы с mc_murphy, bealex и vani2 телеграфируем с WWDC и разбираемся, что на самом деле происходит.
Читать дальше →

iOS 13, watchOS 6, iPadOS и новый Mac Pro. Презентация Apple на WWDC 2019

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


Сегодня в Сан-Хосе на первый день своей конференции Apple провела большую презентацию со всеми апдейтами софта. Пять тысяч журналистов и девелоперов собрались, чтобы узнать, какие апдейты ждут их iOS и macOS. Действо получилось довольно впечатляющим, и длилось два с половиной часа – в разы дольше, чем обычные ежегодные презентации iPhone и iPad. А перед ним в аудитории устроили красивое шоу. Освещением выступали только три гигантских черных экрана, на которых показывались разные световые анимации.


Чуть короче, с прицелом на разработчиков и их интересными отзывами/впечатлениями, о WWDC 2019 уже написал dydus0x14 вот здесь. Рекомендуется к прочтению. У нас – чуть меньше о разработчиках, но чуть больше о всём остальном. С подробностями и по порядку хода презентации, как привыкли.

Читать дальше →

Microsoft Edge для macOS

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

В прошлом месяце мы анонсировали первые предварительные сборки следующей версии Microsoft Edge для Windows 10. Сейчас мы рады сообщить, что канал Microsoft Edge Canary стал доступен и для macOS. Теперь на сайте Microsoft Edge Insider можно найти сборки для компьютеров с macOS и Windows 10, и скоро поддержка версии для Windows будет расширена. 


Снимок экрана Microsoft Edge для macOS

Читать дальше →

Собираем Flutter приложение для десктопа

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

Всем привет!


Сегодня я покажу вам, как же запустить ваше существующие Flutter приложение на десктопе (MacOS, Linux или Windows).

Читать дальше →

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

Автоматический перенос приложений iOS (ARM) на macOS (x86) с помощью Bitcode

Время на прочтение4 мин
Количество просмотров5.6K
Когда Apple представила технологию Bitcode и сделала её обязательной для watchOS и tvOS, компания словно отмахнулись от вопросов, зачем она вообще нужна. Лишь туманно сказала, что она помогает настраивать двоичные файлы и использует последние улучшения компилятора.

С тех пор Bitcode сыграл важную роль в плавном переходе watchOS на 64 бит, где разработчикам даже не пришлось перекомпилировать свои приложения в каталоге. Сама Apple сделала это автоматически: все приложения начали работать на Apple Watch Series 4. Вероятно, вы даже не заметили, что произошла миграция.

Что такое Bitcode? Ну, bitcode с маленькой b — это специфичное для архитектуры промежуточное представление, используемое LLVM, а Bitcode с большой B относится к набору функций, позволяющих встроить это представление в ваш двоичный файл Mach-O, и механизмы, с помощью которых вы можете отдать этот файл в App Store.

Swift: ARC и управление памятью

Время на прочтение13 мин
Количество просмотров57K
Будучи современным языком высокого уровня, Swift в основном берёт на себя управление памятью в ваших приложениях, занимаясь выделением и освобождением памяти. Это происходит благодаря механизму, который называется Automatic Reference Counting, или сокращенно ARC. В этом руководстве вы разберётесь, как работает ARC и как правильно управлять памятью в Swift. Понимая этот механизм, вы сможете влиять на время жизни объектов, размещенных в куче (heap).

В этом руководстве вы прокачаете свои знания Swift и ARC, изучив следующее:

  • как работает ARC
  • что такое циклы ссылок (reference cycles) и как их правильно устранять
  • как создать пример цикла ссылок
  • как находить циклы ссылок при помощи визуальных средств, предлагаемых Xcode
  • как обращаться с ссылочными типами и типами-значениями
Читать дальше →

Внедрение зависимостей с DITranquillity

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

Dependency Injection — довольно популярный паттерн, позволяющий гибко конфигурировать систему и правильно выстраивать зависимости компонентов этой системы друг от друга. Благодаря типизации, Swift позволяет использовать удобные фреймворки с помощью которых можно очень коротко описать граф зависимостей. Сегодня я хочу немного рассказать об одном из таких фреймворков — DITranquillity.

Читать дальше →

Дайджест интересных материалов для мобильного разработчика #296 (22 — 26 апреля)

Время на прочтение3 мин
Количество просмотров5.3K
Очередной выпуск расскажет вам про новые иконки Google Play, главные вопросы Swift, о бесплатной музыке для проектов, покупке Realm и восторге от Интернета вещей.

Читать дальше →

Собеседование: Swift. Вопросы и ответы

Время на прочтение13 мин
Количество просмотров61K
Языку программирования Swift всего четыре года, но он уже становится основным языком разработки для iOS. Развиваясь до версии 5.0, Swift превратился в сложный и мощный язык, отвечающий как объектно-ориентированной, так и функциональной парадигме. И с каждым новым релизом в нем добавляется еще больше возможностей.

Но насколько хорошо вы на самом деле знаете Swift? В этой статье вы найдете примеры вопросов для собеседования по Swift.

Вы можете использовать эти вопросы для интервьюирования кандидатов, чтобы проверить их знания или вы можете проверить свои собственные. Если вы не знаете ответа, не переживайте: к каждому вопросу есть ответ.
Читать дальше →

Готовимся к Hardened Runtime и Notary Service в macOS Mojave

Время на прочтение2 мин
Количество просмотров3.4K
С выходом macOS Mojave Apple представила поддержку служб Hardened Runtime и Notary. Эти две службы предназначены для повышения безопасности приложений в macOS. Недавно компания заявила:
Начиная с macOS 10.14.5, все новые или обновленные расширения ядра и все программы от разработчиков, впервые освоивших распространение с Developer ID, для запуска должны быть заверены через Hardened Runtime и Notary. В будущей версии macOS заверение потребуется по умолчанию для всех программ.
Сегодня поможем вам разобраться в новых требованиях с точки зрения Xamarin.

Читать дальше →

SpaceVIL — кроссплатфоремнный GUI фреймворк для разработки на .Net Core, .Net Standard и JVM

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

В данной статье я постараюсь рассказать о фреймворке SpaceVIL (Space of Visual Items Layout), который служит для построения пользовательских графических интерфейсов на платформах .Net / .Net Core и JVM.


SpaceVIL является кроссплатформенным и мультиязычным фреймворком, в его основе лежит графическая технология OpenGL, а за создание окон отвечает библиотека GLFW. Используя данный фреймворк, вы можете работать и создавать графические клиентские приложения в операционных системах Linux, Mac OS X, Windows. Для программистов C# в данное время это особенно актуально, учитывая, что Microsoft не собирается переносить WPF на другие ОС и Avalonia является единственным возможным аналогом. Особенностью же SpaceVIL в этом конкретном случае является мультиязычность, то есть на данный момент фреймворк под .Net Core можно использовать в связке со следующими языками программирования: C#, VisualBasic. Фреймворк под JVM можно использовать в связке с языками Java и Scala. То есть, SpaceVIL можно использовать с любым из этих языков и итоговый код будет выглядеть одинаково, поэтому при переходе на другой язык переучиваться заново не придется.


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

Читать дальше →

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