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

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

Вчера залез в сорцы Transmission и сделал то что так давно хотелось.
1) Последовательную загрузку торрентов (блоками по 30 процентов).
2) Загрузку без учета скаченного.
Изменил буквально 10 строк кода. Скачать можно
тут.
18 декабря 2011, 16:33
46
Доброе время суток!
В этом посте я хочу рассказать о своей библиотеке (или, выражаясь в терминах Objective-C, фреймворке) для работы с API социальной сети ВКонтакте.
На самом деле, я до сих пор не видел в работе ни одной хорошей универсальной обертки для ВК на Objective-C. Все существующие на данный момент решения, фактически, пишутся с ноля каждым разработчиком, и, не смотря на то, что довольно неплохо справляются со своей (часто довольно узко-направленной) задачей, по понятным причинам не сильно богаты возможностями и не очень удобны в использовании. Чтобы восполнить этот пробел, я и решил написать фреймворк, который бы позволил упростить жизнь многим iOS / Mac разработчикам.
Для начала —
ссылка на GitHub; примеры использования — в конце топика.
13 декабря 2011, 19:32
45
Добрый день, %username%!
Не так давно пришла необходимость в кастомизации заголовка окна своей программы в Mac OS X. Если это делают iCal.app и Adress Book.app, то почему бы и мне не сделать так же?

Первые же ссылки из гугла дали мне несколько зацепок, и даже одна тестовая программа (после долгих плясок с бубном) скомпилилась и отобразила свой нестандартный заголовок. Но она требовала подключения приватных хедеров, их модификации (для соответствия новой версии Mac OS X) и т.п… А мне хотелось лучшего, хотелось сделать проще, да ещё и задать цвет текста заголовка окна (для гармонии с новым цветом заголовка). Отбросив все неудачные примеры, начал я копать зацепки…
И выяснил, что в обычной программе за отрисовку окна отвечает недокументированный класс
NSThemeFrame, с ним-то мы и будем работать.
Осторожно! Под катом присутствует
магия рантайма.
Сегодня вышел новый Skype 5.4 Beta.
Как следует из
официального блога основное изменение —
звонки Facebook-to-Facebook.
Кроме этого
переделан рендеринг видео, который обеспечивает большую плавность изображения.
Скачать новую версию можно
здесь.
Привет Хабр!
Я вот недавно подсел на ваш сайт, в частности раздел посвященный iOS разработке. Этим делом профессионально занимаюсь вот уже как 5 лет и многое повидал. Вот теперь решил поделиться и своим опытом, может кто сочтет полезным.
Введение
В связи с отменой перехода на летнее/зимнее время посвящается.
В 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, системных часах и прочем отстает на час.
Решение проблемы
31 октября 2011, 20:55
28
Если кто-то из пользователей MacOS вынужден следить за временем в разных часовых поясах (ну или наслаждается этим процессом глобализации), он, возможно, захочет использовать для этих целей Dashboard и стандартный виджет World Clock.
Однако, к сожалению, этот виджет не позволяет отображать время для всех нужных городов, к примеру, в нем от рождения нет Минска! Краем уха я слышал, что
виджеты для
дашборда наврайчены на javascript/css/html. Итак, пришло время посмотреть, так ли это, и исправить недоразумение с недостатком городов. Я не задавался целью изучать API виджетов, это скорее туториал для людей, не совсем близких к программированию.
14 октября 2011, 07:43
11
В Mac OS X Lion компания Apple изменила поведение макбуков при закрытии крышки с подключенным внешним монитором, это было специальное изменение, о чём можно судить из документации:
support.apple.com/kb/ht3131
Это изменение полностью отменило возможность усыплять макбук простым закрытием крышки, если подключен внешний дисплей, и отключать внутренний экран. Права выбора у пользователя не осталось.
На днях
на форумах Apple наконец-то появилось решение, возвращающее поведение как в Snow Leopard.
4 сентября 2011, 16:25
46