Wondershake TechBlog

LOCARI(ロカリ)の運営会社の開発者ブログです。

知っているとiOSアプリ開発で役立つかもしれないTips

LOCARI の iOS の方担当しているあさとです。
今回は iOS 担当らしく Xcode まわりの知らなくても全然問題ないけれど、知っていると役立つかもしれないTipsをいくつか紹介しようと思います。

Xcodeシミュレーターのスクリーンショットの保存先を変更する

開発時に最もお世話になるであろうシミュレーターですが、command + sスクリーンショットが保存できるのは皆さんご存知だと思います。
ただこのスクリーンショットの保存先が ~/Desktop 直下なのが少し気になりませんか?自分の場合デスクトップが散らかる原因のほぼ10割がこれです。

実はこの保存先、変更できます。
スクリーンショットを撮る時に、command + option + s で実行すると、保存先を設定できるダイアログが表示されるので、そちらで任意な場所を指定してください。

f:id:wondershake:20210118210045p:plain
Xcodeシミュレータのスクリーンショット保存先変更

以降は command + s で実行しても先に指定した場所へ保存されるようになります。これでデスクトップがいつもきれいに保てます。
机上の乱れは心の乱れ..です。

実機のアプリ内データを見たい

LOCARI ではアプリ内DBとして Realm を利用しているのですが、稀に実機の Realm データを直接見たくなるときがあります。
シミュレーターであれば、DBファイルの保存先を調べて、Realm Studio などお手元のビューアーアプリなどで直接開けばよいのですが、実機の場合はこれができません。
どうするのかというと、Xcode 経由でアプリ内データを実機から引っ張ってきて、中身を直接見ていくという手順になります。

Xcode で Devices and Simulators Window(command + shift + 2)を開きます
Devices タブを選択して対象の実機を選択すると、Install Apps セクションに開発中のアプリが表示されているはずなのでそれを選択します。
そして少し下の方に歯車ボタンがあるのでクリックし、Download Container をクリックすると.xcappdata 拡張子をもったファイルを保存できます。

f:id:wondershake:20210118210144p:plain
実機のアプリ内データ保存

あとは、保存したファイルのパッケージの内容を表示することで中身が見れるようになるので、該当のファイルをさがして開けばOKです。今回は例として Realm の db ファイルを上げましたが、アプリ内の Documents 配下に保存したものであれば、それ以外でも確認することができるはずです。
Replace Container というメニューもあるので、保存しておけば任意の状態にもどせたりするかもしれません(未検証)

実行停止した時に別タブで該当箇所を開くようにする

ブレークポイントを貼った場合や実行時エラーで止まった場合、Xcodeデフォルトの設定だと開いているエディタで該当箇所のコードなどを開きます。
その状態から原因を調べていったりなどしてコードを追っていくと、もともと開いていたファイルってなんだっけ?となることもしばしばなのですが、止まった時に別タブで開くように設定しておくとこの問題を回避できます。

Xcode の設定(cmd + ,)で Behaviors タブを開きます。Running > Pauses を選択し、Show 設定の部分を window tab にし named には任意のタブ名を設定するだけです。

f:id:wondershake:20210118210223p:plain
実行停止時に別タブで開く

このようにしておくと止まった時に別タブで開くようになるので、どんなに追っていっても元のファイルに戻るときはタブごと閉じるだけで停止前に開いていたファイルに復帰できるようになります。
これで、随分遠くまで来てしまった。と、たそがれる事がなくなります。

ビルドやテスト完了時などのタイミングで音を鳴らす

差分ビルドならそんなにでもないですが、クリーンビルドやテスト(特にUIテスト)を実行するとそれが完了するまでは分単位で結構時間がかかるものです。
その間、別の作業をしていると気がつけばとっくに終わっていたということもしばしばです。すんなり終わっていてくれたのならいいのですが、ビルドエラーとかになっていた場合は結構悲しくなります。

そのような問題を回避するために、Xcode ではそこらのタイミングで音をならすよう設定することができます。
Xcode の設定(cmd + ,)で Behaviors タブを開きます。ビルドであれば Build > Succeeds や Build > Fails でビルドが成功した時・失敗した時の設定、テストであれば Testing > Succeeds や Testing > Fails でテスト成功時、失敗時とそれぞれの設定ができます。
あとは、そこの項目にある Play sound にチェックを入れ再生する音(ローカルファイルを指定することも可能)を指定するとそのタイミングで通知音がなりますし、Speak announcement using にチェックを入れて Kyoko さんを選べば、Kyoko さんが喋ってくれるようになります。

f:id:wondershake:20210118210252p:plain
ビルド完了時などに音を鳴らす

これで無為に時間を過ごしてしまうことが防げるようになります。
自分の個人PCでは、ビルドやテスト失敗時に Unity-Chan ボイスの「も〜っ!!」を再生させ代わりに怒ってもらうことで溜飲を少し下げるハックをしています。こういう小さいDX向上の積み重ねが大事です!(大事です!)

以上、知らなくても全然問題ないけれど知っていると少しだけ開発やデバッグの役に立つかもしれないTipsでした。