GitHubのトレンド見てたら、Bagelというライブラリを見つけた。
iOSの通信デバッグ中に、リクエストレスポンスをMacアプリでUIでキレイに表示できるよってやつらしい。
https://github.com/yagiz/Bagel
面白そうだから入れてみることにする。
iOSの準備
1. Cartfileに以下を追加
github "yagiz/Bagel"
2. インストール
$ carthage install
3. Xcode設定
Linked Frameworks and Libraries
と Build Phases(Carthage)
に2つを追加。
- Bagel.framework
- CocoaAsyncSocket.framework
4. コード設定
AppDelegate.swift
とかに追加。
Bagel.start()
最初は色々設定することもできるっぽい。
let bagelConfig = BagelConfiguration()
bagelConfig.project.projectName = "Custom Project Name"
bagelConfig.device.deviceName = "Custom Device Name"
bagelConfig.device.deviceDescription = "Custom Device Description"
Bagel.start(bagelConfig)
けど、無限ループ走って落ちた。とりあえず最小でやりたいから省くことに。
Macアプリの準備
Macアプリから通信履歴をみるから、インストールするだけかと思ったら
- Clone the repo.
- Install pods.
- Build and archive the project.
自分でビルドしてね✨ らしい。
クローンして cocoapodsインストール。プロジェクトを開く。
$ git clone git@github.com:yagiz/Bagel.git
$ cd /path-to-repo/
$ cd mac
$ pod install
$ open Bagel.xcworkspace/
そして、ビルド実行しようとしたら失敗した。
EXPANDED_CODE_SIGN_IDENTITY: unbound variable
調べて見ると、 cocoapodsのissueにあった。1.5.x系のバグらしいから、1.6.0いれてみろ とのこと。
sudo gem install cocoapods --pre
もう一度 pod install
して、ビルドし直したら動きました。
使ってみた
上にリクエスト一覧がみれて、下カラムに Header
と Body
が見れる。 画像は黒テーマになっているが、MacOSのテーマをダークにしているとこうなり、ライトだと明るいみたい目になる。
まとめ
macアプリをクローンするのがとても面倒で、チーム開発で入れるにはみんながビルドしなきゃいけないし、開発時にこれを本当に使うのかも怪しい。確かに便利で見やすいけど、XCodeのコンソールに出すので充分な気がする。
OSSだし、自分で配布しても良いが・・・。もっとネットワークデバッギングが楽にならないかな。