web-dev-qa-db-ja.com

iOS 9のXcode 7でXPC接続が中断されました

最近Xcode 7に更新し、iPhoneをiOS 9にアップグレードしました。iOS8とXcode 6の最新バージョンで完全に機能するiOSアプリを開発してリリースしました。

IOS 9サポート用にアプリを更新するプロセスを実行しようとすると、私は困惑させられた最もばかげた奇妙なエラーを受け取ります。

Xcodeを使用してすべての構文修正を自動的に実行し、アプリが正しくビルドされるようになりました。最初は問題なく動作します。

WebViewを備えたView Controllerに接続するボタンがあります。このView Controllerは、画像、Webサイト、またはYouTubeからのビデオを表示するリンクをロードします。コンテンツはいつものように完璧にロードされます。ただし、プログラムはクラッシュしてシミュレーター(および私のiPhone)をリブートし、「戻る」ボタン(ナビゲーション・スタック上にある)をクリックすると、ロック画面に移動します。

Xcodeでは、次のメッセージが表示されます。

XPC接続が中断されました。システムアプリがないため終了します。

私はアプリにFlurry分析を統合していますが、それが問題かどうかはわかりません。

この問題を修正するにはどうすればよいですか? XPC接続を検索しても、私のような問題は返されないようです。 XPC接続とは何なのかさえわかりませんが、どうしてこれが私のアプリにあるのでしょうか?

編集:私は問題の回避策を見つけました。私は本当にそれが修正だと言うことはできません。

Trueに設定されている場合、self.navigationController?.popViewControllerAnimatedメソッドの使用中にクラッシュが発生していました。たまたまこれをfalseに設定すると、クラッシュが停止します(現在、移行はひどく見えます)。

これがなぜ機能するのかはわかりませんが、混乱を招くだけです。

55
iOShepherd

問題は私にとってもストーリーボードにありました。新しいプロジェクトを作成し、ビューをレイアウトしましたが、すべてがうまく機能しているように見えました。ストーリーボードのソースでこれらのいくつかの行を見つけました(ストーリーボードを右クリックし、ビューとして->ソースコードを選択します)。これらは作業バージョンと壊れたバージョンでは一般的ではありませんでした。

<keyCommands>
    <keyCommand/>
</keyCommands>

これらの行が何をするのか、またはストーリーボードファイルにどのように忍び込むのかはわかりませんが、それらはアプリを非常に激しくクラッシュさせ、電話を再起動する必要がありました。メインプロジェクトからこれらの行を削除し、すべてが再び機能しました。

13
Chase Roberts

このエラーは、ループを繰り返し実行することで発生する可能性があります。私の場合は、カウント変数をリセットする「for」ループでした。 NSLogをループに追加するとすぐに、明らかでした。

5
Peter B. Kramer

私はちょうど同じ問題に直面しました。それがあなたに役立つかどうかはわかりませんが、それはストーリーボードから来ていると思います:

私の場合、問題はUITextViewから発生しています。内部のデフォルトのテキストを変更しようとするたびに、このエラーが発生します。デフォルトのテキストをそのままにするか、空のままにすると、アプリは正常に動作します。 IBOutletを作成し、プログラムでテキストを変更することもできます。

他のUI要素を試しましたが、UITextViewのみがこの問題を抱えているようです。

2
Remy Cilia

私はまったく同じエラーに苦しんでいます。排除のプロセスを通じて、私はそれがどのクラスとも関係がなく、ストーリーボードと関係があることを確立しました。幸いなことに、私は定期的にバックアップコピーを保管し、ストーリーボードを比較して、自分がしたことを確立しようとしましたが、明らかなものは何も見つかりませんでした。バックアップコピーは正常に機能し、コントローラークラス(変更を含む障害のあるコピーから)をバックアップコピーにコピーすることができ、それらは正常に機能しました。

おそらくストーリーボードにバグがあると思います。

1
Jeremy Andrews

-layoutSubviewsメソッドにサブビューを配置すると、同じエラーメッセージが表示されます。

-(void)layoutSubviews
{
    [super layoutSubviews];   
    [self populateByImageViews];
}

レイアウトプロセスの無限サイクルを引き起こし、アプリをクラッシュさせます。この場所にサブビューを配置しないでください!

0
Sound Blaster

ストーリーボードのビューの1つからテキストビューを削除すると、私の場合のエラーが削除されます。

0
Madhuri

UIChangedのvalueChanged:メソッドでは、同じ問題が発生したため、valueChanged:内のコードをメインスレッドで実行するようにし、問題を解決しました。

@IBAction func valueChanged(sender: AnyObject) {
  dispatch_async(dispatch_get_main_queue(), {
  //code
  }
}
0
Gaurav Sharma

QLPreviewControllerを使用すると、この問題に直面します。以下のエラーメッセージ

XPC connection interrupted
_BSMachError: (os/kern) invalid capability (20)
_BSMachError: (os/kern) invalid name (15)

XPCはOS Xプロセス間通信を意味するため、これで問題を解決できると思います。

dispatch_async(dispatch_get_main_queue(), ^{
    // do what you want to do.
});
0
DawnSong