Sapper

ネットワークデバッグライブラリ、Bagelを試してみる

2019年01月28日

Swift


GitHubのトレンド見てたら、Bagelというライブラリを見つけた。

iOSの通信デバッグ中に、リクエストレスポンスをMacアプリでUIでキレイに表示できるよってやつらしい。

https://github.com/yagiz/Bagel

面白そうだから入れてみることにする。

iOSの準備

1. Cartfileに以下を追加

github "yagiz/Bagel"

2. インストール

$ carthage install

3. Xcode設定

Linked Frameworks and LibrariesBuild 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 して、ビルドし直したら動きました。

使ってみた

Babel Screen Shot 1

Babel Screen Shot 2

上にリクエスト一覧がみれて、下カラムに HeaderBody が見れる。 画像は黒テーマになっているが、MacOSのテーマをダークにしているとこうなり、ライトだと明るいみたい目になる。

まとめ

macアプリをクローンするのがとても面倒で、チーム開発で入れるにはみんながビルドしなきゃいけないし、開発時にこれを本当に使うのかも怪しい。確かに便利で見やすいけど、XCodeのコンソールに出すので充分な気がする。

OSSだし、自分で配布しても良いが・・・。もっとネットワークデバッギングが楽にならないかな。


Tosaka

とさかです、iOSエンジニアです。 Twitter GitHub