【问题标题】:Where Safari stores the info about just installed/enabled/disabled extensions?Safari 在哪里存储有关刚刚安装/启用/禁用的扩展的信息?
【发布时间】:2017-07-23 14:27:20
【问题描述】:

我需要为企业开发一个 Safari 原生(应用程序内)扩展,并且想知道如何静默安装/更新/卸载扩展。

假定授予了“root”访问权限。

我想知道 Safari 将扩展信息保存在哪里?位置、格式、可访问性。

目标是绕过要求最终用户明确授予运行扩展程序权限的消息框。

10.10-10.12 和 High Sierra 的实际值。

谢谢。

【问题讨论】:

    标签: macos safari safari-extension


    【解决方案1】:

    扩展名和设置(.plist)位于目录中:

    /Users/Username/Library/Safari/Extensions
    

    扩展程序的设置位于Extensions.plist 中,其中保存着每个碰巧安装的扩展程序的密钥。一个典型的例子类似于这样:

    <key>Installed Extensions</key>
    <array>
        <dict>
            <key>Added Non-Default Toolbar Items</key>
            <array/>
            <key>Archive File Name</key>
            <string>AdBlock-2.safariextz</string>
            <key>Bundle Directory Name</key>
            <string>AdBlock-2.safariextension</string>
            <key>Bundle Identifier</key>
            <string>com.betafish.adblockforsafari</string>
            <key>Developer Identifier</key>
            <string>UAMUU4S2D9</string>
            <key>Enabled</key>
            <true/>
            <key>Hash of Content Blocker String</key>
            <integer>9102788478644569774</integer>
            <key>Hidden Bars</key>
            <array/>
            <key>Removed Default Toolbar Items</key>
            <array/>
            <key>Signature</key>
            <data>
            T+7di9jBVfGql8jF5OM...
            </data>
        </dict>
    

    【讨论】:

    • 我用 Extesnion 创建了一个原生应用。 Safari 在开发模式下加载了扩展,我必须明确同意启用它。现在我有适合我的扩展的工具按钮。但是上面提到的 plist 没有引用这个扩展(实际上是任何扩展)......
    • 找不到 Safari v14.0 的目录 ~/Library/Safari/Extensions
    猜你喜欢
    • 2011-10-01
    • 2021-12-10
    • 2020-01-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-06
    • 2014-12-29
    相关资源
    最近更新 更多