web-dev-qa-db-ja.com

10.10の「ヘルパーアプリケーションと通信できませんでした」

ヨセミテで突然このエラーが発生します。

***storageTaskManagerExistsWithIdentifier:withIdentifier failed: 
Error Domain=NSCocoaErrorDomain 
Code=4099 "Couldn’t communicate with a helper application." 
(The connection to service named com.Apple.nsurlstorage-cache was invalidated.) 

UserInfo=0x6000000621c0 
{NSDebugDescription=The connection to service named com.Apple.nsurlstorage-cache was invalidated.}; 

アプリはマーベリックスで完全に動作していました。何が起こっているのでしょうか?

(あまりにもどこを見れば手がかりもありません...確かに、私はそこにWebViewを持っていますが、エラーがトリガーされる場所をまだ把握できていません...)

17
Dr.Kameleon

@ingridがすでに指摘しているように、この問題はサンドボックス化が原因である可能性が非常に高いです。ただし、Mac App Store経由でアプリを配布する場合は、サンドボックスをオフに切り替えることはできません(とにかくお勧めしません)。代わりに「送信接続」機能を有効にします

  • プロジェクトファイルをクリックします
  • アプリのビルドターゲットを選択します
  • 「機能」タブで「アプリサンドボックス」を拡張します
  • 「送信接続(クライアント)」チェックボックスを有効にしました

enter image description here

38
martn_st

私もこの問題を抱えています。 NSAttributed文字列initWithHTML:メソッドを使用していますか?

また、ヘルパーアプリケーションに依存するオープンパネルと保存パネルにも既知の問題があります。 (これはコメントでしたが、まだコメントを残すことはできません!)

2
Rob Sanders

@martn_st post が最初のステップですが、Fabric OSXサポートに近づきます: https://docs.fabric.io/Apple/crashlytics/os-x.html

OS Xでキャッチされなかった例外のインターセプトとレポートは、iOSの場合よりも複雑です。 OS Xでは、AppKitはメインスレッドでスローされた例外をキャッチし、アプリケーションのクラッシュを防ぎますが、Crashlyticsがそれらを報告することも防ぎます。さらに悪いことに、アップルのフレームワークは例外安全ではありません。つまり、AppKitはアプリのクラッシュを防止しますが、多くの場合AppKit自体を含むプロセスの状態も破損する可能性があります。通常、UIインタラクションに関連する例外がスローされると、その瞬間からアプリが正しく動作しなくなります。

次のコードをdidFinishLaunchWithOptionに配置する必要があります

スウィフト3

UserDefaults.standard.register(defaults: ["NSApplicationCrashOnExceptions": true])

スイフトpre-3

NSUserDefaults.standardUserDefaults().registerDefaults(["NSApplicationCrashOnExceptions": true])

Objective-C

[[NSUserDefaults standardUserDefaults] registerDefaults:@{ @"NSApplicationCrashOnExceptions": @YES }];

1
stan liu

私もこのエラーがありました。私の場合、ファイル.entitlements、キーのアプリサンドボックスが「はい」でしたが、「いいえ」に変更しました。

1
ingrid

IOSのキーボード拡張機能でこの問題が発生した場合:

  1. 設定を開く
  2. キーボード
  3. [ここでキーボードを選択してください]
  4. フルアクセスを許可する
0
slxl

サービスを使用している場合は、そのためのuiがないため、{name}.entitlementsこのキーを追加する必要があります:com.Apple.security.network.server as Boolean type and YES for value and/or com.Apple.security.network.client as Boolean typeおよびYES for value

0
Almog_0

端末を開いて次の2つのコマンドを実行します。xcode8を使用しています

xcrun git config --global user.email [email protected]

xcrun git config --global user.name "Your Name Here"
0
Hiren Panchal