1

サファリ設定で拡張機能を有効にするためのボタンを備えたメイン ビューを備えた 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 で動作することです。同じ OS を使用している別の友人に送信したところ、同様に動作しました。

しかし、10.12.6 (Sierra) を使用している別の 2 人の友人に送信しましたが、動作しません。

コードはこのエラーを出力します: Optional(Error Domain=SFErrorDomain Code=1 "(null)")

拡張機能IDが存在しないということだと思いますが、別のトピックで拡張機能の所有者か何かに関係していると誰かが言っています。

10.13 では動作し、12.6 では動作しない理由がわかりません。safariServices は 12 以降の OS でサポートされています。

ヒントはありますか?

4

1 に答える 1

1

拡張バンドル ID を使用するのは正しいです。ただし、メインのアプリや拡張機能をデバッグするときに、これが常に期待どおりに機能するとは限りません。

完全にテストするには、アプリをアーカイブして開発者 (インストーラー) プロファイルでエクスポートし、エクスポートしたアプリを に移動し/Applicationsて実行します。

于 2018-10-06T02:28:51.337 に答える