我在哪里放置Facetime的自定义铃声?(macos Sierra)


2

我喜欢Facetime Continuity可以让手机在计算机上响铃。但是它会激进地重复播放声音,并且循环速度太快。

在响起八秒之前,我创建了一个更安静的音调。但我不知道该放在哪里。

显然,在优胜美地,您可以解锁对此文件夹的访问并将其放在这里:

  • /System/Library/PrivateFrameworks/ToneLibrary.framework/Versions/A/Resources/Ringtones/

但我看不到将其放在Sierra中的任何信息。有什么想法吗?

Answers:


4

概观

以下是对我有用的步骤:

  1. 禁用系统完整性保护(有关详细信息,请参见下文)。
  2. 将您的自定义铃声文件放在/ System / Library / PrivateFrameworks / Tone .framework / Versions / A / Resources / Ringtones /
  3. 在/ System / Library / PrivateFrameworks / Tone Kit .framework / Versions / A / Resources / TKRingtones.plist中编辑铃声的系统属性列表(有关详细信息,请参见下文)。
  4. 在FaceTime首选项中选择您的自定义铃声。
  5. 重新启用系统完整性保护(有关详细信息,请参见下文)。

启用/禁用系统完整性保护

在macOS Sierra(实际上是从El Capitan开始)中,Apple似乎已实施了系统完整性保护技术,该技术限制对/ System的访问。为了播放自定义铃声,您需要禁用系统完整性保护

启用或禁用系统完整性保护[...]

  1. 通过重新启动计算机并在启动时按住Command和R键来引导到Recovery OS。
  2. 从实用程序菜单启动终端。
  3. 输入以下命令:$ csrutil enable[或使用该命令$ csrutil disable禁用系统完整性保护]

在计算机上启用或禁用系统完整性保护后,需要重新启动。

资料来源Apple支持Apple开发人员

编辑TKRingtones.plist

为了使您的自定义铃声显示在FaceTime首选项的铃声列表中,您需要使用TextEdit 编辑文件/ System / Library / PrivateFrameworks / Tone Kit .framework / Versions / A / Resources / TKRingtones.plist。其他一些文本编辑器-您还可以使用Xcode的开发人员工具获得更好的界面)。具体来说,<string>system:Custom Ringtone Name</string>在下面显示的位置添加(您应将“自定义铃声名称”替换为铃声文件的名称)。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    // lots of stuff omitted here
    <key>modern</key>
    <array>
        <string>&lt;default&gt;</string>
        <string>system:Custom Ringtone Name</string>
        <string>system:Apex</string>
        <string>system:Beacon</string>
        <string>system:Bulletin</string>
        // lots of stuff omitted here
    </array>
    <key>sort</key>
    <true/>
</dict>
</plist>

1
我已将文件放在铃声文件夹中,但无法正常工作。对于Facetime,我认为铃声和警报还有另一个位置,但我不知道在哪里。有任何想法吗?
helloandyhihi

好点子。我认为铃声文件夹是正确的,但重要的是您还需要将自定义铃声作为FaceTime提供的选项的铃声列表(TKRingtones.plist)的条目添加。我已经修改了答案以反映这一点。
user2421192

在Sierra上对我不起作用。
Parker.j
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.