Mac OS X

индекс
118,30

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

Доброго времени суток!

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

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

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

+20
15 января 2012, 18:06
71

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

image После выхода последней версии Mac OS X 10.7 Lion, пропал доступ к общим каталогам через протокол samba. Вернее, компьютеры под управлением Mac OS X общие папки на ресурсах windows видят, а вот обратной совместимости нет. Это связано с тем, что samba, теперь имеет лицензию GPLv3, что и заставило Apple разработать полностью свой модуль без обратной совместимости.
+11
23 декабря 2011, 16:55
38

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


Вчера залез в сорцы Transmission и сделал то что так давно хотелось.
1) Последовательную загрузку торрентов (блоками по 30 процентов).
2) Загрузку без учета скаченного.
Изменил буквально 10 строк кода. Скачать можно тут.
+21
18 декабря 2011, 16:33
46

Библиотека для работы с ВКонтакте API на Objective-C из песочницы

Доброе время суток!
В этом посте я хочу рассказать о своей библиотеке (или, выражаясь в терминах Objective-C, фреймворке) для работы с API социальной сети ВКонтакте.
На самом деле, я до сих пор не видел в работе ни одной хорошей универсальной обертки для ВК на Objective-C. Все существующие на данный момент решения, фактически, пишутся с ноля каждым разработчиком, и, не смотря на то, что довольно неплохо справляются со своей (часто довольно узко-направленной) задачей, по понятным причинам не сильно богаты возможностями и не очень удобны в использовании. Чтобы восполнить этот пробел, я и решил написать фреймворк, который бы позволил упростить жизнь многим iOS / Mac разработчикам.
Для начала — ссылка на GitHub; примеры использования — в конце топика.
+15
13 декабря 2011, 19:32
45

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

Добрый день, %username%!

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

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

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

Осторожно! Под катом присутствует магия рантайма.
+15
29 ноября 2011, 15:09
28

Новый Skype 5.4 Beta

Сегодня вышел новый Skype 5.4 Beta.

Как следует из официального блога основное изменение — звонки Facebook-to-Facebook.
Кроме этого переделан рендеринг видео, который обеспечивает большую плавность изображения.

Скачать новую версию можно здесь.
0
17 ноября 2011, 21:37

Тернистый путь iOS Developer'а из песочницы

Привет Хабр!
Я вот недавно подсел на ваш сайт, в частности раздел посвященный iOS разработке. Этим делом профессионально занимаюсь вот уже как 5 лет и многое повидал. Вот теперь решил поделиться и своим опытом, может кто сочтет полезным.
+1
9 ноября 2011, 16:28
13

Смена временных зон в Mac OS X Snow Leopard из песочницы

Введение


В связи с отменой перехода на летнее/зимнее время посвящается.

В Mac OS X настройки часовых поясов находятся в двух местах: /etc/localtime и /usr/share/icu/icudtXXX.dat.
/etc/localtime, который является сиволической ссылкой на /usr/share/zoneinfo/[установленная time zone, например Europe/Moscow], задает настройки временных зон для консоли.
Системные часы, приложения Mail и прочие берут настройки тайм-зон из /usr/share/icu/icudtXXX.dat.

30 октября 2011г. у меня случилось следующее: в Terminal'е и различных консольных утилитах время правильное(localtime был заранее обновлен), а в Mail, системных часах и прочем отстает на час.

Решение проблемы


+6
31 октября 2011, 20:55
28

Добавляем города в виджет World Clock



Если кто-то из пользователей MacOS вынужден следить за временем в разных часовых поясах (ну или наслаждается этим процессом глобализации), он, возможно, захочет использовать для этих целей Dashboard и стандартный виджет World Clock.

Однако, к сожалению, этот виджет не позволяет отображать время для всех нужных городов, к примеру, в нем от рождения нет Минска! Краем уха я слышал, что виджеты для дашборда наврайчены на javascript/css/html. Итак, пришло время посмотреть, так ли это, и исправить недоразумение с недостатком городов. Я не задавался целью изучать API виджетов, это скорее туториал для людей, не совсем близких к программированию.

+13
14 октября 2011, 07:43
11

Выключение внутреннего экрана ноутбука в Lion

В Mac OS X Lion компания Apple изменила поведение макбуков при закрытии крышки с подключенным внешним монитором, это было специальное изменение, о чём можно судить из документации: support.apple.com/kb/ht3131

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

На днях на форумах Apple наконец-то появилось решение, возвращающее поведение как в Snow Leopard.
+29
4 сентября 2011, 16:25
46
mxx