1

我正在构建一个 Safari 应用程序扩展,其主视图带有一个按钮以在 Safari 偏好设置中启用扩展。

该按钮使用以下代码:

    SFSafariApplication.showPreferencesForExtension(withIdentifier: "com.bry.teste.teste1") { (error) in
        if error != nil {
            print("Error launching the extension's preferences: %@", error);
            return;
        }
    }

“com.bry.teste”是包 ID,“com.bry.teste.teste1”是扩展包 ID

问题是,这段代码适用于我的 Mac OSX 版本 = 10.13.1,我只是将它发送给另一个使用相同操作系统的朋友,它也能正常工作。

但是,我将它发送给另外 2 个使用 10.12.6 (Sierra) 并且不起作用的朋友。

代码打印此错误: Optional(Error Domain=SFErrorDomain Code=1 "(null)")

我认为这意味着扩展 id 不存在,但在另一个主题中,有人说这与扩展所有者或其他东西有关。

我无法弄清楚为什么它在 10.13 而不是在 12.6 中工作,12+ 操作系统支持 safariServices。

有什么提示吗?

4

1 回答 1

1

使用扩展包 ID 是正确的。但是,当您调试主应用程序或扩展程序时,这并不总是按预期工作。

要对其进行全面测试,请将您的应用程序存档并使用您的开发人员(安装程序)配置文件导出,将导出的应用程序移动到/Applications并运行它。

于 2018-10-06T02:28:51.337 回答