OSXの回線速度を落とすNetwork Link Conditionerがデバッグに便利

iOS アプリの UI でこれだけはおさえたい、読み込み中の体験を向上させる基本 UI パターン3つ – クックパッド開発者ブログを読んでいて、OSXの回線速度を3GやADSLやWiFiをシミュレートできるNetwork Link Conditionerを知った。iOSにも似たような機能が標準で付いてるんだけど、OSXはApple公式の別アプリとしてリリースされていた。

クックパッドの記事だとmatttさんのブログ記事にリンクが貼ってあるんだけど、スクショでは”Network Link Conditioner”を検索しているのに対して本文では”Hardware IO Tools for Xcode”を検索するよう指示しているというトラップがあるので、要注意。

https://gyazo.com/112a056e686e772e63f3d45d7bf13006

Hardware IO Toolsを探せばその中にNetwork Link Conditionerが入ってます。分かりづらいので以下のリンクからどうぞ。

https://developer.apple.com/downloads/?name=Hardware%20IO%20Tools

余談

リンスっぽいとおもいました。

ElectronでBonjourに登録されたIPアドレスを取得する

最初にmdnsというnpmパッケージが目についたんだけど、実行すると以下のようなエラーがでてうまく動かない。

$ electron .
[1108/014127:ERROR:http_transport_mac.mm(186)] Could not connect to the server. (NSURLErrorDomain -1004)

Bonjourでブラウズ(デバイスの検索)するだけなら、mdns-jsというnpmパッケージが素晴らしく簡単に動いた。

  • https://www.npmjs.com/package/mdns-js
  • https://github.com/kmpm/node-mdns-js

githubリポジトリに書かれてるように、以下のサンプルコードがそのまま動く。

var mdns = require('mdns-js');

var browser = mdns.createBrowser();

browser.on('ready', function () {
    browser.discover(); 
});

browser.on('update', function (data) {
    console.log('data:', data);
});