С выходом «Йоси» наши Маки почувствовали себя Айфонами, тренькая каждый раз при входящем вызове. Примечательно, что если вы какому-нибудь контакту назначили один из штатных рингтонов, этот же сигнал будет раздаваться и из динамиков Макинтоша — какой бы из ваших ай-девайсов ни играл роль сотового коммуникатора, по звуковому сигналу вы узнаете, кто вас хочет слышать. Проблемы возникают, когда вам хочется воспользоваться своими, нестандартными рингтонами…

Я до сих пор удивляюсь, как Apple протупила с этим нюансом: у вас в iTunes может лежать хоть тонна прикольных рингтонов, которые можно запросто залить на любой iPhone и iPad — и которые в упор не будет замечать OS X, воспроизводя вместо них рингтон по умолчанию, так называемый Открытие.

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

Копирование рингтонов в системную папку

Окно перехода Finder

Начнем с глубокого погружения в системную библиотечную папку: нажмите в «Файндере» клавиши ⌘⇧G, вставьте в поле ввода путь /System/Library/PrivateFrameworks/ToneLibrary.framework/Versions/A/Resources/Ringtones и нажмите клавишу ввода. В открывшейся вам папке хранятся стандартные рингтоны OS X Yosemite, список которых соответствует набору звуковых сигналов iOS 8. Сюда и скопируйте рингтоны из своих запасов (убедитесь, что файлы имеют расширение m4r).

Скопированный m4r-файл для проверки можно сразу прослушать
Скопированный m4r-файл для проверки можно сразу прослушать
Кстати, если вы еще не знаете, насколько легко на Маке можно самостоятельно делать бесплатные рингтоны, возьмите на заметку краткое руководство на эту тему.

Как заставить систему распознать новые рингтоны

Теперь переходим к главному: нужно объяснить OS X, какими конкретно звуковыми сигналами пополнился набор штатных рингтонов. К сожалению, система не анализирует содержимое папки Ringtones, в которую вы скопировали новые файлы — а берет список рингтонов из отдельного plist-файла. Называется он TKRingtones.plist и расположен в каталоге /System/Library/PrivateFrameworks/ToneKit.framework/Versions/A/Resources. Тем же способом, с помощью клавиш ⌘⇧G, перейдите в этот каталог и откройте файл TKRingtones.plist в TextEdit.

Поскольку оригинальный файл закрыт для редактирования, нажмите клавиши ⌘⇧S, чтобы создать копию этого файла. Теперь обратите внимание на нижнюю половину кода: видите строку system:Apex, что в блоке modern? Где-то под ней вставьте точно такую же строку именем рингтона, который вы только что скопировали в системную папку. Например, мой любимый «текстовый» рингтон называется Hunt Signal, поэтому я впишу в код такую строку:

system:Hunt Signal

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

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

Сохраните изменения в файле и скопируйте его в папку /System/Library/PrivateFrameworks/ToneKit.framework/Versions/A/Resources (она все это время должна быть открытой). Подтвердите свои намерения, введя пароль администратора.

Проверка сигнала

Откройте программу «Контакты», выберите кого-нибудь, нажмите кнопку Правка и в поле рингтон или звук сообщения найдите свой нестандартный рингтон, который вы только что «подвязали» к системе. Если все сделано по инструкции, вы не только увидите соответствующий пункт выпадающего списка, но и при щелчке на нем услышите знакомый сигнал.

Отдельно звуковое оповещение настраивается в программах «Сообщение» и FaceTime, через соответствующие окна настройки.