2014/09/12新しいiPhoneやiOS8のリリースも正式にアナウンスされドタバタしています。iOS8の新機能、Extension。「写真」アプリで写真を選択し、アクションボタンをタップするとこのようにTwitterやFacebookに投稿したり、印刷したりする機能が現れます。iOS8ではアプリケーションが提供するExtensionを追加出来るようになりました。Extensionを提供したり出来るようになりました。このExtension、Appleのアナウンスではホスト・アプリを選んでXcodeで起動させればソースコードレベルでデバッグ出来る事になっているのですが、私がドキュメントをちゃんと読みこなせていないのか、なかなかうまくデバッグする事が出来ません。そこで強引にデバッグする手法です。Extensionが稼働しているプロセスを特定するため、PIDを取得します。viewDidLoadの最初にでも下記のようなコードを埋め込みます。(long)pid);#endif次にXcodeからExtensionを実行します。するとホストアプリをどれにするか聞いてきます。Extensionを起動出来るアプリを選んでやります。次にコンソールのメッセージを見るためにXcodeのWindowメニューからDeviceを選びます。Extensionを起動します。Name..”で先ほどのPIDを指定して目的のプロセスにAttacheします。以上でブレークポイントを掛けてデバッグ出来るようになります。この方法ではExtensionが起動した直後からデバッグを行う事は出来ません。Extensionはホスト・アプリの中で動いているのではなく、別プロセスとして立ち上げられていると言う事です。これによるメリットはホスト・アプリが非常にメモリーを使う物であっても、それに影響されずメモリーなどの資源を使う事が出来ると言う事です。Extensionにバグがあり、強制終了させられた場合でもホスト・アプリの動作には影響が無いのでしょう。*Website上に表示された文字を入力してください。