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

macOS *

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

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

Xyologic: Google в мире мобильных приложений

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


Думаю, многие помнят времена, когда интернет был просто разрозненным набором веб-страниц. Поискового процесса как такового еще не существовало, поэтому перемещаться с сайта на сайт можно было только по ссылкам внутри ресурсов. Потом Yahoo! объединил сайты в директории, но до появления Google большая часть интернета оставалась непроиндексированной. Представьте, что на дворе снова 1994 год. По крайней мере, в мире мобильных приложений.
Читать дальше →

Time Machine: ограничение размера файла бэкапов

Время на прочтение2 мин
Количество просмотров43K
Промучившись много часов в поисках решения, решил поделиться найденным способом с читателями Хабра.

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

Создание иконок для приложений Mac OS X

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

По роду деятельности я начинающий IOS кодер. Так случилось что недавно собрал совсем маленькую прогу под Mac и мне нужно было сделать иконку для своего же небольшого приложения. Узнав что установка иконки под эти две платформы сильно отличается решил опубликовать туториал для тех кому это может понадобиться.
Читать дальше →

Создание красивого образа .dmg для программы в [Mac] OS X

Время на прочтение6 мин
Количество просмотров29K
Приветствую достопочтенных жителей Хабра!

Сегодня я расскажу вам о том, как красиво преподнести пользователю инсталлятор своей программы. Наверняка каждый, кто пользуется не только программами из AppStore, сталкивался с красивыми образами диска .dmg, как вот у Адиума, к примеру. Такой образ представляет из себя, так сказать, интерактивный инсталлятор, в котором дана чёткая подсказка: перетащи значок вот сюда. Всё предельно понятно и просто.

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

Можно, конечно, проделать это всё вручную, но это не_наш_метод™, так что мы будем писать shell-скрипт для автоматизации сего процесса. Автоматизация нам так же пригодится в случае ввода в эксплуатацию билд-сервера, тогда этот сервер будет не только собирать программу из исходников, но и делать образ диска для дистрибьюции.

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

Потоки в OS X: как получить CPU usage всех потоков в чужой программе?

Время на прочтение5 мин
Количество просмотров6.7K
Добрый день, уважаемые хабровчане-маководы!

В [Mac] OS X имеется замечательный встроенный инструмент — Activity Monitor, который легко покажет занимаемую процессом память и процессорное время. Что ж, это очень хорошо, но иногда хочется странного. Например, посмотреть, сколько у процесса потоков (threads) и сколько CPU кушает каждый из них. Тут уже Activity Monitor нам никак не может помочь, увы, а файловой системы procfs здесь бывалый линуксоид не найдёт. Придётся решать эту проблему своими силами.

Сегодня я поведаю вам о том, как написать маленькую консольную программку, которая будет на вход принимать PID процесса и на выходе давать информацию о CPU usage каждого потока этой программы (а так же общий usage).

Писать будем на чистом C, у нас будет всего один файл исходников, и я решил не использовать Xcode для такого мелкого проекта, пусть будет обычный Makefile.
Пишем на C

Установка и работа с менеджером пакетов для Maс OS X (MacPort и Homebrew)

Время на прочтение3 мин
Количество просмотров57K
Менеджер пакетов в Mac OS X позволит нам легко работать с пакетам посторонних разработчиков. В этом топике рассмотрим два таких менеджера: MacPort и Homebrew.
Читать дальше →

Как заставить Time Machine бэкапить на сетевой диск

Время на прочтение2 мин
Количество просмотров82K
Недавно решил отделиться от «Wi-Fi соседей» и перебраться в 5 Ghz, для чего был приобретен роутер Cisco Linksys EA4500. К роутеру можно подсоединить USB Storage, который раздается через SMB и FTP. Захотелось заставить Time Machine делать бэкапы на это чудо устройство. В результате гугления долго не получалось заставить Time Machine от Mac OS X Mountain Lion порадовать меня, пока не наткнулся на одну статью, адаптивный перевод которой и представляю вам для ознакомления ниже.
Читать дальше →

Textmate 2 стал opensource

Время на прочтение1 мин
Количество просмотров27K
Буквально 2 часа назад в репозитарий на github были загружены исходные коды Textmate 2.

Textmate — культовый текстовый редактор под Mac OS X, которым, скорее всего и вдохновлялись создатели Sublime Text.

Для него есть куча бандлов, статей и видеоуроков. Стоимость редактора $49.

UPD: Подтверждение в блоге разработчиков.

BlueStacks for Mac OS X – запуск Android-приложений на Mac

Время на прочтение1 мин
Количество просмотров12K
Компания BlueStacks представила на Google I/O публичную альфа-версию своего Android App Player для Mac.

Несмотря на то, что Windows-версия данного ПО позволяет без модификации запускать любое Android–приложение, Mac-версия на данный момент ограничена 15 встроенными в дистрибутив приложениями: Air Control Lite, Alchemy, Basketball Shot, Drag Racing, Elastic World, Facebook, Glow Hockey, Guns'n'Glory, Paper Toss, Pulse, Robo Defense, Seesmic, Twitter, Whatsapp и Zebra Paint.

BlueStacks заявляет о том, что в ближайшем будущем их ПО позволит запускать на Mac более 400 000 Android–приложений.

Альфа-версия доступна для свободной загрузки на сайте компании.

Qt/Objective-C++11 или сборка Qt-проекта с помощью GCC-4.7 и Clang

Время на прочтение6 мин
Количество просмотров12K
Всем доброго хабрадня!

Сегодня я расскажу уважаемым хабражителям об очередном извращении — о сборке проекта, написанного на Qt, под Mac OS X компилятором GCC-4.7.0 с примесью Clang'а (про шланг — в конце статьи, там станет понятно, зачем ещё и его приплетать будем).

Для чего нам GCC 4.7? Ну, например, чтобы использовать все те крутые фичи из стандарта C++11. Разве этого мало? Кроме поддержки нового стандарта, в нём очень много улучшений по сравнению с идущим в комплекте с Xcode GCC 4.2 (хотя он и оказывается на поверку i686-apple-darwin11-llvm-g++-4.2), так что смысл в переходе на 4.7 явно имеется. Но и проблемы присутствуют, о чём ниже.

Мы можем предположить, что нам потребуются некие фичи из Cocoa, а значит, нам потребуется компилятор Objcetive-C, а ещё лучше — Objective-C++, чтобы, например, интегрировать наше Qt-приложение в окружение Mac OS X.
Начнем!

Консоль для маководов: Beyond the GUI

Время на прочтение6 мин
Количество просмотров221K
Доброго дня, уважаемые хабравчане-маководы!

Сегодня я расскажу как увеличить эффективность работы в Mac OS X за счёт использования консоли.

Лирическое отступление


Думаю, ни для кого не секрет, что Mac OS является Unix-based системой, но переработанной почти до неузнаваемости. Даже консоль засунули куда подальше — не сразу и найдёшь. И вся система нацелена на использование GUI, при дефолтных настройках даже переключение между кнопками по Tab не работает — без мыши никуда. И тем не менее, Мак — это не только окошки, не только док и лаунчер. Мак это ещё и вся мощь shell скриптов и консоли!

Если Вы пришли из мира M$, то для начала неплохо бы поучить общие команды shell'а, например, по вот этому учебному пособию. Как минимум, нужно усвоить команды перехода по каталогам и способы запуска программ и скриптов.

Если Вы пришли в мир Mac OS из мира Linux'а и FreeBSD, то, скорее всего, знаете как минимум основы shell-скриптинга. Но и для вас в статье может оказаться кое-что интересное, ведь в маке есть уникальные консольные команды, которые так же полезно знать.

Вот о некоторых особенностях маковской консоли далее и пойдёт речь.
Поехали!

Создаём простейший виджет для Mac OS X Dashboard

Время на прочтение6 мин
Количество просмотров11K
Здравствуйте, хабравчане-маководы!
Картинка поста
Сегодня мы с вами попробуем разобраться в азах создания виджета для Dashboard в Mac OS X. Нам понадобится программа Dashcode, предназначенная как раз для этого.

Для начала немного теории. Виджет в Dashboard — это специально сформировання веб-страничка, упакованная в бандл вместе со всем ресурсами. Ну, и немного служебной информации в довесок. Соответственно, используемый язык программирования — JavaScript. Если Вы уже знакомы с ним, а так же с HTML/CSS (хотя это вряд ли понадобится), то Вы уже способны написать простенький виджет. Если же нет, то не стоит расстраиваться, этот язык очень прост и интуитивно понятен, разобраться с ним можно достаточно быстро. Далее я буду считать, что с JS читатель более-менее знаком. Сама же статья рассчитана на новичков, так что прошу не ругать за «слишком простое изложение и детальное разжёвывание элементарных вещей». Кроме того, за дизайн тоже прошу не пинать — ну не дизайнер я, не дизайнер! Если кто хочет помочь с этим делом — welcome =)

Для удобства, все исходники (а так же готовый к использованию виджет) выложены на гитхаб, ссылка в конце статьи. Но не спешите просто скачивать их! Лучше потратить немного времени и разобраться, как создать это всё самому.

Итак, приступим. В качестве цели для экспериментов я, разумеется, выбрал наш любимый хабр. Мы будем шаг за шагом делать виджет, отображающий карму, рейтинг и позицию в рейтинге хабралюдей выбранного хабраюзера.
Картинка для привлечения внимания
Такой виджет (ну, очень похожий) уже был создан хабратоварищем neoromantic аж в 2007 году, но ссылки на скачивание не рабочие, а кроме того, та статья не содержала практического руководства по созданию подобных виджетов.
Создадим же проект с нуля!

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

Вышла версия Xcode 4.3.2

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

Кратко об изменениях (из описания в AppStore):

  • Включает в себя SDK для iOS 5.1 и MacOSX 10.7
  • Подписывание программ с помощью Apple Developer ID
  • Консольные утилиты устанавливаются из меню загрузоксм. примечания
  • Instruments, File Merge и другие утилиты теперь запускаются прямо из Xcode
  • Утилита миграции на ARC может преобразовывать код из retain/release и GC кода
  • Багфиксы и стабильность — как уж водится


Версия для Mac OS X Lion доступна бесплатно в AppStore. Версии для Snow Leopard, видимо, не будет.
Некоторые особенности релиза

Задержка курсора 32 миллисекунды в Mac OS X

Время на прочтение1 мин
Количество просмотров15K
Разработчик приложений под OS X Евгений Зуев рассказывает о лаге рендеринга курсора под Mac OS X, который они никак не могут побороть. Имеется в виду задержка между получением информации от мыши и рендерингом нового положения курсора.

Оказывается, сейчас лаг составляет 32 мс, из-за чего на «маках» не так комфортно играть в игры, как на Linux или Windows, где более высокая скорость реакции на движения мыши. Излишне восприимчивых пользователей тоже раздражает едва уловимое «подтормаживание» курсора в OS X.
Читать дальше →

Использование Table View

Время на прочтение6 мин
Количество просмотров28K
Доброго времени суток!

Уже достаточно давно пытаюсь заставить себя изучить очередной язык/платформу для программирования под Mac OS X/iOS. Интересует именно разработка приложений с нативным GUI, так как консольные приложения можно разрабатывать на чем угодно, начиная с C и C++ и заканчивая модным сейчас Nodejs. Как показала практика, кроссплатформенные фреймворки вроде Qt тут мало подходят, хотя бы потому что не обеспечивают нативный Look and Feel, к которому привыкли пользователи этой ОС.

На хабре есть достаточное количество материалов по языку Objective-C и фреймворку Cocoa. С точки зрения GUI, интерес представляет именно Cocoa, а тут большинство статей ограничивается кнопочками и текстовыми полями. Постараюсь исправить это недоразумение и описать работу с Table View на примере приложения, отображающего список процессов.

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

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

Установка samba3 на Mac OS X Lion 10.7.x

Время на прочтение3 мин
Количество просмотров16K
image После выхода последней версии Mac OS X 10.7 Lion, пропал доступ к общим каталогам через протокол samba. Вернее, компьютеры под управлением Mac OS X общие папки на ресурсах windows видят, а вот обратной совместимости нет. Это связано с тем, что samba, теперь имеет лицензию GPLv3, что и заставило Apple разработать полностью свой модуль без обратной совместимости.
Читать дальше →

Несправедливый торрент клиент для Mac

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

Вчера залез в сорцы Transmission и сделал то что так давно хотелось.
1) Последовательную загрузку торрентов (блоками по 30 процентов).
2) Загрузку без учета скаченного.
Изменил буквально 10 строк кода. Скачать можно тут.

Интеграция приложений Qt в среду Mac OS X (с использованием Cocoa и Objective-C++)

Время на прочтение9 мин
Количество просмотров14K
Доброго всем дня!

Недавно я писал о кастомизации заголовка окна в Mac OS X и получил реквесты написать поподробнее о взаимодействии Qt и Cocoa. Думаю, тему можно немного развернуть и написать об интеграции приложений, написанных с помощью Qt, в среду Mac OS X. Оговорюсь, что используется в данном случае Qt for Cocoa, если возьмёте Qt for Carbon, то и работать придётся только с карбоном. Но он морально устарел, и использовать его стоит только в крайних случаях.

Обычная Qt-программа имеет ряд несостыковок с Apple HIG. Точнее, может иметь, так как не всем программам нужен дополнительный функционал. Например, не любой программе надо иметь бэдж поверх значка в доке, расширять меню дока или выносить/дублировать некоторые функции в маковское меню.

Но что делать, если такой функционал нужен? Если нужно отображать в доке количество уведомлений (а-ля скайп), обрабатывать клик по иконке в доке, добавлять свои пункты меню в док, да ещё и иметь нормальное меню, в общем, сделать так, чтобы программа смотрелась как родная в Mac OS? Что-то из этого можно сделать с помощью штатных или полудокументированных функций Qt, а что-то — только с использованием Cocoa и, соответственно, Objective-C… Что же делать?

Нам поможет Objective-C-plus-plus!

Кастомизация заголовка окна в Mac OS X

Время на прочтение6 мин
Количество просмотров6.1K
Добрый день, %username%!

Не так давно пришла необходимость в кастомизации заголовка окна своей программы в Mac OS X. Если это делают iCal.app и Adress Book.app, то почему бы и мне не сделать так же?

Первые же ссылки из гугла дали мне несколько зацепок, и даже одна тестовая программа (после долгих плясок с бубном) скомпилилась и отобразила свой нестандартный заголовок. Но она требовала подключения приватных хедеров, их модификации (для соответствия новой версии Mac OS X) и т.п… А мне хотелось лучшего, хотелось сделать проще, да ещё и задать цвет текста заголовка окна (для гармонии с новым цветом заголовка). Отбросив все неудачные примеры, начал я копать зацепки…

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

Осторожно! Под катом присутствует магия рантайма.
Магию в студию!

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