0

こんにちは、お時間をいただきありがとうございます。

機能の 1 つとしてコンテンツ ブロッカーを備えた iOS アプリを開発しています。このために、ユーザーが自由に有効/無効にできる定義済みルールのリストと、カスタム ルールを入力するオプションがあります。

変更 (有効化、無効化、追加、または削除) があるたびに、すべてのルールを取得し、JSON ファイルを 150K ルールごとに 1 つのファイルで再作成します (複数のコンテンツ ブロッカーがあります)。ただし、ほとんどのユーザーは 1 つの JSON ファイルしか必要としません。

問題

ほとんどの場合、うまく機能します。コンテンツ ブロッカーがリロードされ、動作していることを Safari で確認できます。

ただし、 を呼び出すとSFContentBlockerManager.reloadContentBlocker(withIdentifier:completionHandler:)、次のエラーが返されることがあります。

Error Domain=NSCocoaErrorDomain Code=4097 "connection to service named com.apple.SafariServices.ContentBlockerLoader" UserInfo={NSDebugDescription=connection to service named com.apple.SafariServices.ContentBlockerLoader}

ローカライズされた説明: Couldn’t communicate with a helper application

これが起こっている理由を見つけることができません。以前のいくつかの調査では、これはアプリ グループに関連している可能性があるとされていましたが、私はそれらを確認し、それらが正しく設定されていることを確認しました (ブロッカーのリロードがほとんどの場合に機能するにもかかわらず)。

本番環境でこれらのエラー (ログを追加) が多数見られます。

助けてくれてありがとう。

アップデート

確かではありませんが、これは拡張機能のメモリに関連している可能性があると思います。JSON ファイルが約 12 MB になると、エラーが頻繁に発生します。

ここで、10MB に制限すると、エラーは発生しなくなります (これまでのところ)。

4

0 に答える 0