web-dev-qa-db-ja.com

エラー '_BSMachError:ポート1607; iOS 10上のCordovaアプリで(os / kern)無効な機能(0x14)「COPY_SENDを挿入できません」

Xcode 7.3.0でcordovaアプリケーションを構築するまではすべてうまくいきますが、向きを変更するたびにiOS 10デバイスでXcode 8で同じアプリケーションを構築した後にクラッシュし始めましたPortraitから - Landscape iOS 9.3.1ではまだうまく機能しています。デバッガで私は以下のログを得ています:

2016-09-24 18:14:41.212470 MyApp[2542:1028606] [Common] _BSMachError: port 1607; (os/kern) invalid capability (0x14) "Unable to insert COPY_SEND"
2016-09-24 18:14:41.613460 MyApp[2542:1028606] [Common] _BSMachError: port 1607; (os/kern) invalid name (0xf) "Unable to insert COPY_SEND"
2016-09-24 18:14:41.613947 MyApp[2542:1028606] [Common] _BSMachError: port 1607; (os/kern) invalid name (0xf) "Unable to insert COPY_SEND"
2016-09-24 18:14:41.614469 MyApp[2542:1028606] [Common] _BSMachError: port 1607; (os/kern) invalid name (0xf) "Unable to deallocate send right"
Message from debugger: Terminated due to memory issue

以下はスタックトレースです

警告:dyld共有キャッシュからObjective-Cのクラス情報を読み込めませんでした。これは利用可能な型情報の質を著しく低下させるでしょう。

* thread #1: tid = 0xfc80c, 0x00000001000cff00 MyApp`-[MainViewController didReceiveMemoryWarning](self=0x0000000119e0da60, _cmd="didReceiveMemoryWarning") + 40 at MainViewController.m:59, stop reason = breakpoint 7.1

  * frame #0: 0x00000001000cff00 MyApp`-[MainViewController didReceiveMemoryWarning](self=0x0000000119e0da60, _cmd="didReceiveMemoryWarning") + 40 at MainViewController.m:59
    frame #1: 0x0000000192e29964 UIKit`+[UIViewController _traverseViewControllerHierarchyWithDelayedRelease:] + 432
    frame #2: 0x0000000192d5a0f4 UIKit`-[UIApplication _performMemoryWarning] + 232
    frame #3: 0x0000000192d5a294 UIKit`-[UIApplication _receivedMemoryNotification] + 140
    frame #4: 0x0000000100a7d21c libdispatch.dylib`_dispatch_client_callout + 16
    frame #5: 0x0000000100a893a8 libdispatch.dylib`_dispatch_continuation_pop + 708
    frame #6: 0x0000000100a97fa8 libdispatch.dylib`_dispatch_source_latch_and_call + 204
    frame #7: 0x0000000100a7f304 libdispatch.dylib`_dispatch_source_invoke + 836
    frame #8: 0x0000000100a82060 libdispatch.dylib`_dispatch_main_queue_callback_4CF + 652
    frame #9: 0x000000018cc29f2c CoreFoundation`__CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ + 12
    frame #10: 0x000000018cc27b18 CoreFoundation`__CFRunLoopRun + 1660
    frame #11: 0x000000018cb56048 CoreFoundation`CFRunLoopRunSpecific + 444
    frame #12: 0x000000018e5d9198 GraphicsServices`GSEventRunModal + 180
    frame #13: 0x0000000192b2f818 UIKit`-[UIApplication _run] + 684
    frame #14: 0x0000000192b2a550 UIKit`UIApplicationMain + 208
    frame #15: 0x00000001000c7ecc MyApp`main(argc=1, argv=0x000000016fd3fab8) + 76 at main.m:32
    frame #16: 0x000000018bb385b8 libdyld.dylib`start + 4

私は走っています

  • Xcode 8
  • Cordova 6.3.0(iOS 4.1.0)
  • iOS 10 iPhone 6

助けてください。

56
umesh

デバッガに "invalid capability(0x14)"というCOPY_SENDを挿入できませんでした "というメッセージが表示され、アプリが約10秒間起動しなくなります。

プロジェクトから削除したファイルにブレークポイントを設定しましたが、それでもブレークポイントナビゲータに表示されていました(ファイル名は赤)。

私はすべてのブレークポイントを削除し、それ以来エラーメッセージを見ていません。

51
Craig Pickering

私はiOS10.0ベータ段階の間に同じ問題に遭遇しました、そしてそれはまだXcode v8.1に存在しているようです。

実際には2つの別々のエラーがあります。


1.まず、Avaanがコメントしたように、あなたはinfo.plistの中ですべてのプライバシー使用法を設定しなければなりません。それがあなたの墜落の原因だと思います。

IOS10.0以降、使用する電話の機能とその理由をユーザーに明示的に伝えることが必須です。

Project Info


2。エラーについて

BSMachError:ポート1607。 (os/kern)無効な機能(0x14)「COPY_SENDを挿入できません」

私はこの小さな回避策でエラーを解決しました:

  1. [プロジェクト設定] - [一般] - > [配置情報]に移動し、すべての方向を確認します。

General settings

  1. ビルドして実行すると、インターフェースはデバイスの向きに従って回転します。
  2. 今行ったことを元に戻します(不要な向きのチェックを外します)。もう一度ビルドして実行すると、エラーは表示されなくなります。

これが助けになれば幸いです

43
Neimsz

私はコアデータのリセットを実行しているのにこのエラーを正確に受け取りましたが、上記の解決策のどれもうまくいかなかったか、または私の場合には関連がありませんでした。メインスレッドにプッシュする必要があるUIAlertのアクションの中でコードが実行された結果であることが判明しました。ここから解決策が見つかりました - Error _BSMachError:(os/kern)CloudKitレコード追加時にリモート通知を受け取った後の無効な機能(20) - そしてSwift 4用に以下を更新しました:

alert.addAction(UIAlertAction(title: "Reset Now", style: UIAlertAction.Style.default, handler: { action in
            DispatchQueue.main.async {
                // Core Data reset code goes here...
            }
}))
4
bob

私にとって原因は[myTextField becomeFirstResponder]でした。最初のviewWillAppearスレッドが終了した後に配置されます。

3
Peter B. Kramer

私はこのエラーを受けていた、このスレッド内のすべての解決策を試してみました、そして何もうまくいきませんでした。私は修正したこの一見無関係のUIColor(色範囲外)エラーがあり、このCOPY_SENDの問題も解決しました。

特定のUIColorエラーはUIColorBreakForOutOfRangeColorComponentsでした。

1
mark

私は同様の問題を抱えていました( SOに関する私の質問 をチェックしてください)そして私のUIはそれ自身の別のインスタンスを作成し、同時に両方を表示していることを知りました。

あなたがまだあなたの問題に対する解決策を見つけていないならば、私はあなたがDebug View Hierarchyツールを使うことを勧めます...多分あなたは私が持っていたのと同じ種類の問題を抱えています。

がんばろう!

1
Johan Tingbacke

一致する文字列なしでInfo.plistキーを追加したときにこれが発生しました。私のインスタンスでは、説明なしでNSLocationAlwaysAndWhenInUseUsageDescriptionを追加しました。許可ダイアログにアクセスすると、このエラーが発生します。文字列値を追加することで問題は解決しました。 iOs11.

1
lucygenik

判明しました - Info.plistキーなしで許可を必要とするEventKit、ContactsKit、マイク、カメラなどを呼び出すとアプリがクラッシュします。
プライバシー - 使用中の場所使用法説明
プライバシー - メディアライブラリ使用法

私は https://forums.developer.Apple.com/thread/48959 スレッドからこの答えを得ました

ゾンビを無効にするのを忘れたかどうかも確認してください。

1

私のために私のplistの翻訳でした。あなたのplistがローカライズされている場合、適切なプライバシーテキストが翻訳されていることを再確認してください。

それが見つかるまで私に何時間もかかりました...私はいつもSFSafariViewレイアウト問題を得ていました。

0
pegpeg