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

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

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

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

Эти айфоны ещё будут жить: пишем и деплоим свои приложения из XCode на старые iPhone

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров5K
image

Согласно политике Apple, компания чётко разграничивает время жизни тех или иных версий iOS. Обычно, уже через 3-4 года определенная версия iOS считается устаревшей и публиковать новые версии приложений с её поддержкой больше нельзя. Однако в ходу всё ещё «старые», но по настоящему трушные и любимые многими «пятёрки», «четвёрки», а среди коллекционеров — и «тройки»! Способ, о котором я расскажу в статье, раскопали ещё «олды», однако он позволяет запускать и отлаживать «хоумбрю» приложения на старых айфонах, потенциально принося им новую жизнь с кастомными приложениями! Интересно? Тогда добро пожаловать под кат!
Читать дальше →
Всего голосов 27: ↑25 и ↓2+32
Комментарии19

Новости

Два года ждали: новый релиз «FreeBSD для Mac» — операционной системы ravynOS

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

Кто-то слышал об этом проекте, кто-то нет, но это весьма интересная разработка. Команда ravynOS создаёт операционную систему на базе FreeBSD, стараясь обеспечить совместимость проекта с приложениями для macOS. Оболочка при этом также имеет очень сильную схожесть с интерфейсом macOS. Наработки проекта распространяются под лицензией BSD. Оценить ОС можно, установив загрузочный образ ravynOS 0.5 — он доступен здесь. Подробности — под катом.

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

Есть ли жизнь на arm'е?

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

Заметка написана с целью рассказать о переходе от macOS к Fedora Asahi Remix, встреченных проблемах, попытке их решения и умозаключениях, а не ради холивара в поисках идеальной ОС. Тем более, спорить тут не о чем. Есть плюсы, минусы, предпочтения и обстоятельства, остальное от лукавого.

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

Разработка вредоносного ПО для MacOS: инъекция и закрепление шелл-кода на конечном устройстве

Уровень сложностиСложный
Время на прочтение20 мин
Количество просмотров4K

Мы продолжаем тему о проектировании и разработке вредоносного ПО для macOS. Первую часть публикации вы можете прочитать здесь. 

В этой статье мы:

- Изучим методики инъецирования кода и то, как он применяется в вредоносном ПО;

- Затронем способы обеспечения постоянства хранения;

- В конце мы покажем простой процесс инъецирования шелл-кода и его постоянного хранения. 

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

Истории

Разработка вредоносного ПО для MacOS: создание заготовки

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

В этой статье мы погрузимся в мир проектирования и разработки вредоносного ПО для macOS, которая по сути является операционной системой на основе Unix. При исследовании внутренностей системы Apple мы воспользуемся классическим подходом с опорой на базовые знания эксплойтов, программирования на C и Python, а также знакомство с низкоуровневым языком ассемблера. Хотя представленные в статье темы могут быть сложными, я постараюсь изложить их понятным языком.

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

Как зарегистрировать Apple Developer в App Store для физических лиц. Гайд 2024 года

Уровень сложностиПростой
Время на прочтение2 мин
Количество просмотров4.1K

В предыдущей статье рассказали, как разработчику зарегистрировать аккаунт в Google Play в 2024 годy. Сегодня подготовили актуальный гайд по регистрации Apple Developer в App Store для физических лиц. Если у вас есть сложности, можете обратиться за помощью к нам. Или пробуйте самостоятельно по инструкции ниже.

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

А вы знаете как спит ваш Mac? или же рассказ о Apple Power Nap

Уровень сложностиПростой
Время на прочтение2 мин
Количество просмотров2.5K

В далеком 2012 году на презентации WWDC (первая презентация после смерти Стива Джобса) Apple представила легендарную iOS 6. На этой презентации также была представлена система OS X Mountain Lion (версия 10.8). Было представлено много новых функций и нововведений. Кому интересно, вот статья на Вики, но сегодня мы поговорим о функции Power Nap.

Что такое этот ваш Power Nap? И как же спит ваш Mac?

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

Разница между Ctrl+Z и Ctrl+C или рассказ о том как правильно остановить локальный сервер

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

А вы знаете, как остановить локальный сервер? Какое сочетание клавиш использовать?

После этой статьи вы точно будете знать и уметь его правильно останавливать

Я попросил своих друзей оценить одну из моих статей с точки зрения логики, полезности и содержания. Они - очень хорошие специалисты с большим опытом в своей области. И каково было мое удивление, когда я услышал от них ответ, что они не сталкивались с проблемой, о которой я рассказываю далее. И вообще, почему я использую Ctrl+Z для остановки локального сервера?

Что ещё за Ctrl+Z? Прочитать статью
Всего голосов 36: ↑4 и ↓32-23
Комментарии17

Monkey patching в Go, или грабли от Apple

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

Все началось с того, что я в очередной раз немного поменял структуры БД, и в некоторых SQL-запросах добавилась новая колонка. Нормальная ситуация - взять и легким движением руки сломать половину unit test’ов, потому что БДшные моки ожидают определенный текст запроса.

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

От идеи до сервера на Mac mini M2 Pro: как мы запускаем новые продукты

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

Меня всегда интересовало, как создают новые гаджеты, автомобили, самолеты и форматы домов. Сейчас я в команде выделенных серверов Selectel и сам участвую в разработке новых продуктов. Под катом делюсь опытом и рассказываю, откуда мы черпаем идеи и как реализуем проекты. На примере новых конфигураций на базе Mac mini®.
Читать дальше →
Всего голосов 34: ↑34 и ↓0+34
Комментарии43

Кто ты, SwiftData

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

Привет! Я Андрей Зонов, стафф-инженер в Тинькофф и большой фанат CoreData. Моя любовь в CoreData началась на старте карьеры, когда я попал в первый Enterprise-проект. Это были времена iOS 4.3., CoreData не имела parent-контекстов и методов perform. Как-то так сложилось, что за свою карьеру я много фиксил классические проблемы в CoreData, и с появлением SwiftData мне стало интересно, остались ли проблемы в SwiftData и что нам дает этот фреймворк. 

В статье разберем основные концепции и киллер-фичи по SwiftData. Пройдемся по основным отличиям и тому, как можно мигрировать с CoreData на актуальную SwiftData. Копнем внутрь SwiftData, узнаем, как она устроена под капотом, и подведем итоги стоит ли вообще переезжать на новый фреймворк Apple. 

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

Как переназначить кнопку dictation на macOS (без стороннего софта)

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров1.6K

Год назад я купил Mac с функциональными клавишами и столкнулся с кнопкой dictation, которая вызывает стандартную программу для диктовки текста. Перед покупкой я предположил что это кнопка с значком микрофона должна включать и выключать микрофон, каково же было мое разочарование, когда вместо функционала включения и выключения микрофона я получил запуск dictation. Меня не особо устраивал сторонний софт (например: Kabaneri elements), хотелось что-то нативное и небольшое

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

Делаем плавную прокрутку для сторонней мыши в macOS

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров13K

На Mac одни из самых удобных трекпадов, с которыми приятно работать и выполнять ежедневные задачи. Если подключить к любому компьютеру Apple стороннюю мышку, то в глаза сразу бросается прерывистая прокрутка. Со временем это начинает очень сильно раздражать и даже мешать читать текст. В этой статье рассмотрим утилиты, решающие известную проблему macOS.

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

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

Идеальный REST-клиент для iOS

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

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

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

Macintosh 128K: от мечты к легенде в мире компьютеров

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

Не так давно вышло обновление macOS 14 Sonoma. Некоторые уже раскритиковали его за то, что Apple отошла от своих же принципов минимализма, добавив на рабочий стол виджеты. На эту тему можно долго спорить, но факт остается фактом: тот привычный образ GUI массовый пользователь узнал еще в 1984 году в первой ОС для «Макинтош» — System 1.

Компьютер Macintosh был разработан в Apple командой под руководством Стива Джобса в 1980-х. Инженеры, включая Баррела Смита и Энди Херцфельда, фокусировались на доступности и простоте. Они интегрировали множество функций в ПЗУ и заменили заказные чипы на экономичные микросхемы PAL. Сталкиваясь с вызовами и жесткими сроками, команда создала инновационные решения, в том числе метод генерации звука через видеосхему. Запуск Macintosh стал переломным в истории персональных компьютеров.

И лучше всего о создании первого «Макинтоша» расскажут его создатели. В этой статье мы приведем «анекдоты» от Энди Херцфельда, автора книги «Революция в Долине: безумно великая история о том, как был создан Mac».

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

На пути из Web к Native, часть 1

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

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

Оставь надежду, всяк сюда входящий. Или.. нет..?

Имея небольшой опыт в веб-программировании, мне казалось, что все не так плохо. И так по началу и было. За вопрос я взялся основательно: без задачи — нет учебы.

Я решил поставить перед собой большую цель: давным-давно...

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

Одна игра, один разработчик, шесть платформ

Уровень сложностиПростой
Время на прочтение11 мин
Количество просмотров9.3K

Недавно компания Valve объявила о том, что Counter-Strike 2 не будет поддерживать macOS. Я инди-разработчик, в одиночку выпустивший игру с поддержкой macOS, поэтому поначалу меня удивило это решение Valve. Но вспомнив о своём собственном опыте поддержки шести платформ, я начал понимать точку зрения компании.

Думаю, будет полезно написать пост с перечислением полученных мной уроков. Надеюсь, он поможет другим инди-разработчикам в выборе поддерживаемых платформ. Небольшое предисловие: моя собственная игра Industry Idle в основном основана на веб-технологиях (WebGL + TypeScript). Это означает, что поддержка разных платформ — относительно простая задача, мне не приходится иметь дело с платформенными графическими API (DirectX, OpenGL, Vulkan, Metal) и в основном игра существует в браузерной «песочнице». Это практически идеальная ситуация для кросс-платформенной поддержки. Тем не менее, меня постоянно удивляют и одолевают проблемы, связанные с отдельными платформами.

Читать далее
Всего голосов 22: ↑21 и ↓1+28
Комментарии5

LLaMA 2, RWKV, Santacoder и другие LLM на iOS

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

Однажды я решил изучить язык Swift и разработать свое первое приложение для iOS. Для этого я решил создать реальный проект, который заключался в оптимизации нашумевшего LLaMA.cpp под iOS. Я поставил перед собой задачу обеспечить запуск 3B и 7B моделей на iPhone 12 Pro с приемлемой скоростью. Под «приемлемой» скоростью я имею в виду такую, чтобы пользователь не успевал заскучать, читая предсказанный текст, пока генерируется новая часть. Что из этого получилось (и какие трудности были при реализации) читайте в статье.

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

Запуск потенциально опасного кода в изолированном окружении. Как мы сохраняем безопасность на macOS

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

Мы запустили облачный тест-раннер Emcee. Теперь другие компании могут тестировать приложения, не разворачивая у себя локальную версию раннера. Правда, запуск стороннего кода на наших серверах — это небезопасно. Но мы решили этот вопрос — рассказываем, как это было.

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

Большинство оконных приложений — это недоработанные real-time приложения

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров9.3K

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

Я программирую уже давно. Под давно я имею в виду не один десяток лет работы. Надеюсь, это достаточно долго. За это время мой опыт в основном заключался в программировании для современных платформ вроде Linux, Windows, macOS для десктопных и серверных архитектур процессоров. Недавно я участвовал в создании MIDI-движка для систем значительно меньшей мощности.

Вскоре после начала я столкнулся с проблемой, которая требовала обеспечить невозможность переполнения очереди событий ввода. По сути, эта задача сводится к тому, чтобы каждый обработчик событий не выполнялся дольше некой максимальной продолжительности времени. Затем меня осенило! Я уже слышал это раньше — «максимальная продолжительность времени», так как занимаюсь разработкой систем, работающих в реальном времени.
Читать дальше →
Всего голосов 41: ↑33 и ↓8+43
Комментарии26
1
23 ...

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