今回の記事は、昨日紹介した「react-native-background-fetch」ライブラリのコードのデバッグを、iOS の Simulator で行う方法についてです。
なお、こちらの方法は 昨日の記事に掲載したサンプルコードで動作確認を行なっています。
taskId を指定するコードでは動作確認はしていませんので、あらかじめご了承ください。
昨日の記事はこちらです。
【React Native】アプリがバックグラウンドにある時に一定時間毎に指定した処理を行う
https://cpoint-lab.co.jp/article/202202/22125/
サンプルコードも掲載しておりますので、そちらもよければご参照ください。
Simulator でのデバッグ方法ですが、まず iOS プロジェクトを Xcode で起動し、お好みのデバイスを選択してアプリを実行してください。
アプリが実行されたら、Xcode のウィンドウ下部にあるログ表示のウィンドウの一時停止ボタンをクリックします。
上のスクリーンショットの赤枠で囲まれているボタンです。
すると、緑の文字で (lldb) というテキストが表示されますので、この直後に下記を入力し、エンターキーを押下します。
e -l objc -- (void)[[BGTaskScheduler sharedScheduler] _simulateLaunchForTaskWithIdentifier:@"com.transistorsoft.fetch"]
しばらく待つと、「Simulating launch for task with identifier com.transistorsoft.fetch」というメッセージが帰ってきます。
この状態で、Simulator のアプリを確認したところ、バックグラウンドで実行したかった処理が行われているようでしたので…多分成功したのでしょう!
念のため、他の OS のバージョンでも確認予定ですが、現時点では特にエラーが発生したりはしていないので大丈夫そうです。
なお、taskId を指定して実行したい場合は、上記で紹介したコードの末尾の Identifier
を任意の文字列に変換すれば良いようです。
が、こちらは私は試していないので、詳しくはライブラリの GitHub を確認してください。
以上、「react-native-background-fetch」のコードをSimulatorでデバッグする方法についてでした。
ご参考になれば幸いです。