LoginSignup
8
8

More than 5 years have passed since last update.

Xamarin.iOS + iOS Simulator で Instruments を使う

Last updated at Posted at 2013-09-03

Xamarin.iOS(旧MonoTouch)では、Xcode のプロファイラである Instruments がそのまま使えます。

デモプロジェクト

にある MemoryDemo.zip をダウンロード、解凍します。2つプロジェクトが含まれていますが、 before を使います。

手順

1. プロジェクトをとりあえず実行

Xamarin Studio で before/MemoryDemo.sln を開いて、とりあえずビルド、Simulator で実行します。

img

上下にスクロールすると、次々と画像を読み込むので Allocate がハンパないよ、ってデモのようです。

2. Xamarin Studio から Instruments を起動する。

メニュー - ツール - Launch Instruments で起動します。

img

起動はしましたが、勝手にアプリが実行されるわけではありません。ここから少しだけ面倒な手続きが必要です。

3. iOS Simulator にインストールしたアプリを指定して Instruments を実行する

Instruments を起動すると、下のような画面になっています。

img

左メニューから [iOS Simulator] - [Memory]、右から [Allocations] を選び [Choose] ボタンを押します。

次に、[Target] をクリックして、[Choose Target] - [Choose Target…] と進みます。

img

下のような画面になります。

img

次に Finder を起動して、iOS Simulator のディレクトリへ移動します。

iOS Simulator のディレクトリは通常、~/Library/Application Support/iPhone Simulator/ です。さらにアプリ毎に GUID で分けられているので目的のアプリを探してください。

img

アプリのディレクトリを開いたら、その中のアプリケーションファイル(ここでは MemoryDemo) を、先ほど開いておいた Instruments の中へドラッグ&ドロップします。

img

そして [Choose] を押すと、Target が MemoryTest になっているのが分かります。

これでようやく実行できます。赤い●を押します。

img

と、iOS Simulator で MemoryTest が実行され、Instruments でプロファイルしている事が確認できます。Simulator でグリグリスクロールすると、Allocations がガンガン増えてく様子が分かります。

img

3. 2度目以降は?

Instruments でもう一度赤い●を押すと停止します。アプリを更新する時は、Xamarin Studio 側でビルド-実行して iOS Simulator のアプリファイルを更新してから、Instruments で再度、赤い●を押します。

もし Instruments を終了してしまっても、最近使ったアプリは Choose Target に最近使ったアプリとして残るので、またドラッグ&ドロップすることはありません。

まとめと参考

Xamarin.iOS+iOS Simulator での Instruments の導入部分を説明しました。

下に紹介するサイトが公式の情報です。
ここには、実機にインストールしたアプリのプロファイル方法や、Instruments の使い方などが説明されているので合わせてどうぞ。

Instruments Walkthrough の No.14 の この画像 には、Instruments に Xamarin.iOS(C#) のソースコードが表示されているように見えるんだけど、これどうやるのかなあ。。手順通り動かしたつもりが出てこない。。。SourceMap の設定みたいなのが要るのかなあ。

8
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
8