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

macOS *

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

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

Минимализм Objective-C

Время на прочтение2 мин
Количество просмотров17K
Я часто пишу небольшие тестовые проекты на Objective-C, чтобы поэкспериментировать или поиграться с чем-нибудь. Обычно, я помещаю код в main.m и избавляюсь от всего остального:

#!/usr/bin/env objc-run
@import Foundation;

@implementation Hello : NSObject
- (void) sayHelloTo:name
{
    printf("Hello %s, my address is %p\n", [name UTF8String], self);
}
@end

int main ()
{
    id hello = [Hello new];
    [hello sayHelloTo:@"sunshine"];
}


Это полноценный проект из одного файла, готовый к выполнению. Под катом — описание приемов, позволивших прийти к данному минимализму.
Читать дальше →

Новый Office 365 как платформа для разработчиков под Windows, Android, iOS и Web

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

В календаре евангелиста Microsoft TechEd всегда отмечен особенно, потому что эта конференция о будущем как компании, так и индустрии в целом. TechEd Europe 2014, который состоялся на прошлой неделе в Барселоне, как и ожидалось, полон анонсов и новых решений, при этом главная для меня новость связана с Office 365.

Во-первых, OneDrive для пользователей Office 365 стал безлимитным и без дополнительной платы.

Во-вторых, добавится новый и очень важный для безопасности данных бизнесса функционал Built-in Mobile Device Management (MDM) for Office 365. MDM позволит IТ администраторам централизованно управлять смартфонами и планшетами, включая iOS, Android и Windows Phone. Данный функционал будет доступен в первом квартале 2015 года.

Но самая долгожданная новость связана именно с разработкой под Office 365. Команда разработчиков платформы выразила это в одной фразе:

Write once, run anywhere

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

Уменьшаем потребление CPU Skype под Linux и Mac OS

Время на прочтение1 мин
Количество просмотров71K
image Skype. Как мы его любим и одновременно ненавидим. Долгое время, Skype был единственной программой, которую я старался закрывать при работе лаптопа от батареи: потреблял около 4% CPU, будил процессор 250-300 раз в секунду, ничего при этом не делая, оставляя процессору меньше времени на нахождение в более энергосберегающем состоянии.

Увидел я однажды комментарий пользователя Vayun:
Возможно проблема проявляется не у всех, проверить легко: запускаем скайп, запускаем top (на ноутбуке работающем от батареи наглядней будет powertop) и смотрим сколько он отъедает cpu.

Я долго не возился, придавил только poll, увеличив timeout. Это даёт наибольший выигрыш (уменьшая %CPU скайпа раз в 5), но наверное можно лучше.

Собственно, вот: Skype-poll-fix. Увеличивает таймаут у вызовов poll (Linux) и kevent (Mac OS), снижая потребление процессора в 4-5 раз.
Читать дальше →

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

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


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

Наша команда трудится над проектом ICQ и Агентом Mail.Ru (привет Дима, Вова, Леша) под OS X, и локализация продукта на разных этапах развития осуществлялась по-разному, для каждого из подходов обнаруживались свои достоинства и недостатки. Некоторым накопленным опытом я и хочу поделиться.
Читать дальше →

Как рубисту пережить апдейт OSX 10.10 Yosemite

Время на прочтение3 мин
Количество просмотров23K
На днях вышла очередная версия OSX 10.10 Yosemite, и если для обычных пользователей маков вопрос «обновляться или нет» не стоит, то разработчики подобным вопросом вполне могут задаться. Редкий большой апдейт прошлых лет не приносил нам тех или иных проблем с софтом, библиотеками и консолью. Не может похвастаться отсутствием проблем и нынешнее обновление.

Одним из лучших советов тут конечно было бы подождать месяц-другой и только затем обновляться — избавит от многих проблем и потери времени. Но ждать не хочется, а посему после обновления у вас гарантированно всё сломается (речь далее в основном идёт о ruby и rails): будут выскакивать seg fault'ы, не будут собираться некоторые гемы, возникнут проблемы со скриптами в консоли.
Исправление некоторых проблем нагуглить будет легко, а для некоторых предлагают лишь хаки в виде задания дополнительных параметров компиляции и переменных окружения.
Читать дальше →

Как поменять параметры ускорения движения курсора мыши в Мак ОС

Время на прочтение1 мин
Количество просмотров30K
Те, кто пробовал играть в игры с использованием мыши на маке, наверняка замечали «замечательный» эффект, который когда то давно придумали в недрах компании Эппл для медленных компьютеров — а именно динамическое изменение ускорения курсора мыши.
К чему это приводит — если вы перемещаете мышь незначительно — то все работает как и обычно. Но, стоит вам только передвинуть мышь на 1-1.5 см и начинаются чудеса — вместо ожидаемого линейного перемещения — мы наблюдаем резкий скачок.
Например, в игре Counter Strike это приводит к тому, что вместо прицеливания вы разворачиваетесь на 180 градусов.
Читать дальше →

Docker контейнеры для web-разработчика под OS X

Время на прочтение3 мин
Количество просмотров24K
Всю свою текущую разработку я веду, используя docker контейнеры, и если под Linux такой подход не вызывает никаких проблем, то под OS X некоторые моменты могут отнять невероятное количество сил и времени.

Об одном из таких моментов я и хочу рассказать.
Читать дальше →

ForkLift — продвинутая замена Total Commander для Mac OS

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

Очень много ребят жалуется на отсутствие замены Total Commander под Mac OS и не знают о существовании файлового менеджера ForkLift, который вполне может заменить Total Commander.

Краткий обзор возможностей:

Поддерживаемые протоколы
image FTP, SFTP, WebDAV, S3, iDisk, SMB, AFP, NIS
Возможность монтировать удаленную файловую систему и работать с ней, как с локальной. При редактировании файлов на удаленной системе в локальном редакторе, изменения сразу применяются без необходимости отдельного подтверждения «загрузить новую версию файла?».

Также существует возможность подмонтировать любую из удаленных файловых систем как локальный диск, таким образом файлы будут доступны из системы как локальные.
Читать дальше →

Автоматизация монтирования samba-разделов в Mac OS

Время на прочтение5 мин
Количество просмотров20K
Третьего дня поднял сервер для файлопомойки, бэкапов, торрентов и прочих домашних нужд. Там развернулась samba с множеством шар, в частности с личнми данными и местом под бэкапы ноутбука через TimeMachime. Сразу же не понравилось постоянное ручное монтирование шары и образа для бэкапа. Ниже хочу поделиться с сообществом скриптами по автоматизации этого процесса.
Читать дальше →

Монтируем диски NTFS для записи в MacOS X 10.9 Mavericks

Время на прочтение2 мин
Количество просмотров34K
Понадобилось мне на днях сделать бэкап (около 75 гигабайт разных файлов) на внешний жесткий диск, да вот незадача — отформатирован он в файловую систему NTFS — вроде бы другие операционные системы давно пишут на нее без проблем, а в MacOS пришлось использовать «свое решение».

И так, изучив, то что мне предлагает google, выяснилось что надо купить либо Paragon NTFS, либо Tuxera NTFS, либо использовать бесплатное решение.

После ряда экспериментов, выяснилось, что наиболее простой способ — это поставить пакет ntfs-3g из MacPorts и подменить /sbin/mount_ntfs

Система портов MacPorts была у меня давно установлен (я ставил из него mc, wget и другие полезные утилиты, к которым привык в ОС Linux, такие как pwgen, например).

На чистой системе его нет — следовательно его необходимо установить согласно инструкциям на www.macports.org — скачать и запустить скрипт установки.

Далее, установим osxfuse и ntfs-3g

sudo port install osxfuse ntfs-3g

И чтобы была полная автоматизация, то есть автоматически монтировался носитель (а не вручную) подменяем mount_ntfs

sudo mv /sbin/mount_ntfs /sbin/mount_ntfs.orig
sudo vi /sbin/mount_ntfs
Читать дальше →

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

Время на прочтение4 мин
Количество просмотров9.8K
Поскольку системник в себе несет всего 256 Гб под систему и софт, бОльшую часть рабочих файлов, библиотеки, архивы и т.п. храню на нЕком файл-сервере под управлением XP который по гигабитному Ethernet подключен к рабочему компу. СтоИт сей девайс в подвале, шумом не напрягает ))) А так-же по Wi-Fi расшарены папки с музыкой и кино с этой файло-свалки для нубуков, планшетов, смартфонов.

Задался вопросом как все эти сетевые диски автоматом монтировать в МАК-ОСь? Начитался интернетов и написал скриптик, оформив его в стандартную программу и заснув ее в автозагрузку.

image

Итак, что в нем используется:
Поскольку комп грузится на столько быстро, что DHCP роутера не успевает присвоить IP-адрес МАКу выдавая ошибку, что команде не удалось подключить внешний диск. Посему пришлось поставить десяти-секундную задержку перед выполнением команд монтирования сетевых дисков:

set pause to (10)
delay pause


Следующим этапом создаем тома в МАКе и монтируем сетвые диски.
Уточнение: МАК и файл-сервер висят в рабочей группе WORKGROUP, а сервер имеет сетевое имя serverX32 (хотя можно использовать и IP-адрес сервера):

do shell script ("mkdir /Volumes/My_DOCs") <!--  создание директории сетевого диска My_DOCs в МАКе -->
do shell script ("mount -t smbfs //login:password@serverx32/My_DOCs /Volumes/My_DOCs") <!-- Подключение по SMB-протоколу Виндового диска с именем My_DOCs с логином и паролем, для доступа на чтение/запись, если заход на данный диск происходит без логина/пароля диск имеет статус только чтение (для смартфонов и планшетов). -->
do shell script ("mkdir /Volumes/Video") <!-- создание директории второго сетевого диска в МАКе -->
do shell script ("mount -t smbfs //login:password@serverx32/Video /Volumes/Video")
и т.д. сколько нужно подключить дисков…


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

Простейший информер на Automator

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

В первом своем посте на данном ресурсе хотел бы описать простейший пример создания информера, с помощью колоссально удобной утилиты Automator, идущей в комплекте с Mac Os X.

Буквально на днях, при радикальном снижении уличной температуры в Москве у меня внезапно появилась задача: визуально отслеживать температуру в серверном помещении (а точнее в стойке), с определенным интервалом, т.к. кондиционер, обслуживающий помещение, отказался работать при T < -15 ºC.

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

Сворачивание приложений в Dock для ленивых с помощью AppleScript

Время на прочтение7 мин
Количество просмотров10K
Как часто вы пользуетесь опциями некоторых программ (iTerm 2, Total Finder, Adium), которые позволяют показать окно приложения по нажатию на глобальный хоткей и скрыть это приложение при потере фокуса? Лично я — постоянно. А что если некая программа не имеет такого функционала и постоянно маячит перед глазами? Тот же Skype, например. Под катом вариант приведения своего рабочего пространства в порядок.
Читать дальше →

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

Печать на любом Windows принтере в OS X Mavericks

Время на прочтение1 мин
Количество просмотров49K
В этой статье описано, каким образом с помощью машины с Windows (реальной или виртуальной) можно печатать на неподдерживаемом Mac OS принтере. Этот способ успешно работал у меня на OS X 10.8, но с обновлением на Mavericks перестал — связь с принтером просто пропала, Mac рапортовал о невозможности соединиться с принтером.
Читать дальше →

Переходим на Fusion Drive (Mac OS X Mavericks)

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


UPDATE: От одного из читателей поступила информация, что собраный по данной методике FD не работает должным образом — не переносит часто используемые файлы на SSD. Возможно, это исключительный случай, но я проверю актуальность статьи для современных macOS. Ну а тем, кто решит воспользоваться статьей рекомендую иметь резервную копию системы и данных для возможности создания FD с нуля по моей первой статье, если что-то пойдет не так.

В статье Переходим на Fusion Drive я изложил способы, которые связаны с потерей информации на подопытных дисках. К счастью недавно появилась возможность этого избежать.
Читать дальше →

Мой Boot Camp — куда хочу, туда и ставлю

Время на прочтение4 мин
Количество просмотров90K
Исторически сложилось, что на моем MacBookPro Mid 2010 одновременно стояли три оси: Mountain Lion (10.8.3), Lion (10.7) и Snow Leopard (10.6). Все было бы хорошо, если для MacOS существовали бы 3ds Max и утилитка для создания всевозможных текстур The Compressonator, а старый верный ноутбук Toshiba, который спасал меня в такие ситуации, не ушел на пенсию по состоянию материнской платы. Нужно было создавать раздел Boot Camp, да так, чтобы не полетели остальные системы.

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

В новых MacBook Pro выявлена проблема с кулером

Время на прочтение1 мин
Количество просмотров38K
Недавно на форуме технической поддержки Apple появились жалобы владельцев ноутбуков MacBook Pro, столкнувшихся с некорректной работой кулера, который обеспечивает эффективное охлаждение при низком уровне шума. На неполадки жалуется все большее число пользователей последних модификаций популярного ноутбука с дисплеем Retina, обновленных в феврале 2013 года.

Описание проблемы под катом.

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

Apple запустит завтра iTunes Store в России

Время на прочтение1 мин
Количество просмотров36K
image
19 ноября уже была тема, по поводу того, что iTunes Music Store в России находится в стадии тестирования. Сегодня стала известна информация, что сервис будет официально запущен 4 декабря.

iTunes долгое время не мог добраться до России. Пользователи должны были либо качать музыку на торрент-трекерах, либо же покупать в USA iTunes Store, где за один трэк нужно было заплатить 1.29$, что не очень выгодно.
Читать дальше →

Переходим на Fusion Drive

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

Активные пользователи Mac OS X наверняка помнят анонсированную 23 октября функцию Fusion Drive. Напомню, что она представляет из себя логическое объединение установленных в ваш Mac SSD и HDD. Объем единого диска будет равен сумме объемов SSD и HDD, но главные плюс — часто используемые файлы (например, ядро системы) Mac OS автоматически и прозрачно для пользователя размещает на более быстром SSD, а все прочие файлы на HDD.

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

Работа с файлами .plist в Cocoa/CocoaTouch

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

Сегодня я бы хотел рассказать о некоторых аспектах сохранения настроек и прочих данных программы в OS X и/или iOS. Как обычно, у нас есть несколько вариантов: Core Data, «голый» SQLite, свои бинарные форматы, свои текстовые форматы, NSUserDefaults и, как Вы уже наверняка слышали, файлы типа PLIST, то есть XML Property List.

Вкратце, plist-файлы представляют из себя обычный XML, но с некоторыми оговорками. К примеру, порядок тегов в нём обусловлен некоторыми правилами: они идут парами «ключ-значение», но теги типа «ключ» и теги типа «значение» располагаются на одном уровне. Типичный пример:

	<key>identifier</key>
	<string>j3qq4-h7h2v</string>

Плисты умеют хранить основные типы данных Cocoa: NSString, NSNumber (int, float, BOOL), NSDate, NSArray, NSDictionary и NSData. Этим типам соответствуют следующие теги: , , , <true/>, <false/>, , , , . Собственно, plist состоит из тегов , за которыми следуют перечисленные теги со значением.

Под катом - описание дополнительных ограничений и, что самое главное, API для работы с такими файлами.
Как с ними работать

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