2015-11-23 11 views
8

実際のデバイスのXcodeから共有拡張をビルドすると、Xcodeは任意にデバッグを停止します。しかし、私がシミュレータを起動すると、問題は発生しません。iOS9 Share ExtensionがXcodeでデバッグできない

環境
のXcode 7.1.1
のiOS 9.1

詳細
私は共有拡張をビルドすると、Xcodeは "iPhone上でMobileSafari.appを実行完了" 示すが、Safariは実行されません。そして、正方形の停止ボタンは任意に灰色です。だから私は自分でSafariを起動し、自分の拡張機能と投稿を選択します。デバッグセクションには何も表示されません。また、URL要求はRailsサーバーに送信されません。

これは、実際のデバイスの共有拡張をビルドしたときの画像です。 enter image description here

実際のデバイスがXcodeで共有拡張を起動できない理由はわかりません。
誰かがこの問題に関する答えを知っている場合は、教えてください。

答えて

0

私はこの問題にも遭遇しましたが、残念ながら私は正確な解決策を知らないのですが、役に立つかもしれない情報を提供することができます。

私はあなたのスクリーンショットで判断すると、Cocoapodsを使用していました.Cocoapodsは、コードが署名された後、ポッドからアプリケーション拡張のバンドルにリソースをコピーしていました。メモリが提供されていると、コードの署名が何らかの形で妨げられていたため、デバッガでアプリケーションが実行されなくなっていました。

私は、Macのコンソール(またはデバイスのコンソールには、古いSkool [sic]メソッドを使用してデバイスに吹きつけすることについて何かを覚えていない)にログが表示されたと考えています。 "

プロジェクトからCocoapodsを削除するか、コンパイル後にリソースをコピーする必要があるポッドを削除することで、これが正しいかどうかを確認できます。解決策は、バンドルリソースをコピーし、デフォルトでCocoapodsが使用するものを無効にするために、特別なビルドフェーズを拡張プロジェクトに追加することでした。

一時的な解決策として、デバイスからアプリを削除すると、初めてアプリがインストールされた場所でデバッガを一度アタッチできるようになるはずです。また、プロジェクトの派生データを削除することもできます。

+0

ありがとうございます。あなたの記事では、私はまだデバイスに再インストールしていないことに気付きました。 – penlight

+0

私は試して、App ExtensionがOKかどうかを確認しました。その結果、App ExtensionがiPhone上で動作していたので、デバッガの出力が表示されました。私はCocoapodsライブラリを削除しませんでしたが、あなたの答えは妥当だと思います。だから私はあなたの答えが最良の答えを選択します。 – penlight

+0

問題が再開されました。そこで、次にCocoapodsフォームプロジェクトを削除しましたが、問題は削除されませんでした。 – penlight

6

通常、デバッグ - >アタッチを処理するか、PIDを入力して共有拡張の名前を入力することで、共有拡張をデバッグすることができます。そこからあなたのデバイスやシミュレータ上の共有拡張を開くことができ、Xcodeのデバッガはブレークポイントを正しく接続しヒットする必要があります。しかし、これを行うときにログメッセージが表示されないことや、デバッガビューの変数に値が設定されないことに気がつきました。

ここで、デバッグを正しく機能させる方法を説明します。共有拡張スキームを実行します。どのアプリを実行するかを尋ねられたら、「写真」を選択します(拡張機能が動作するアプリだからです)。写真アプリが端末で起動し、拡張機能の使用を続行することができます。 Xcodeのデバッガは、期待どおりに動作するはずです。

+0

すぐにこれをチェックします。 –

関連する問題