*

iOSシミュレータの帯域制限をテストする

公開日: : 最終更新日:2017/08/10 Tips , ,

iOSシミュレータで通信帯域制限をテストしたいと思ったんですが、Xcode8からXcode7.xとはちょっと違うことに気がついたのでメモってみます。
実機の場合は変わってないし、楽なんですが、シミュレータの場合はiOSシミュレータに同様の設定がないので、Mac側で設定をする必要があります。

手順

ツールのダウンロード

「Additional Tools for Xcode 8」をダウンロードします。従前は「Network Link Conditioner」という名前だったんですが、これが変わってるんですね。50MB級のツール群のdmgファイルです。
ダウンロードページはXcodeのOpen Developer Tool → More Developer Tools… から飛ぶのが一番早いでしょう。Developer Centerのダウンロードページに飛びます。 検索条件に「for Xcode」が入った状態でリストが出てくるので、絞込見直すか、ブラウザの検索機能で「Additional Tools for Xcode 8」を探すといいでしょう。

帯域制限ツールのインストールと設定

DMGファイルを開くと、色々なツールがありますが、Hardwareフォルダの「Network Link Conditioner.prefPane」ファイルをダブルクリックします。このファイルはMacの「設定」に項目を追加するファイルなのでインストールの確認を求められるので、インストールします。

インストールすると、「システム環境設定」に「Network Link Conditioner」の項目が増えます。


(注:これはOS全体の通信にかかると思われるので、デバッグ中にSkypeその他のチャットワークに影響が出ると思われ、その点には注意が必要だと思います)

細かい設定方法は省きますが、設定をOnにするといろいろな通信環境(帯域の制限、パケットのロス率の設定)を行うことができます。
通常は3G(概ね700kbps)でのシミュレートすれば事足りるような気がしますが、日本の帯域制限を考えると300kbpsの帯域設定を作るほうがいいかもしれません。

実機の場合

「設定」アプリの「デベロッパ」項目に「NETWORK LINK CONDITIONER」セクションがあるので、そこのStatusをいじると同じ設定ができます。

関連記事

Size ClassとUIViewController.view

タイトルの件でちょっとハマったことがある上に、特に日本語情報もStackOverflowからも情報が

記事を読む

viewDidLoadとviewDidLayoutSubviewsのタイミング

真実の記事にある「コードでiPhone6を識別する」話とほんのちょっとだけ繋がっている話で、view

記事を読む

preferredContentSizeをUINavigationContorllerのPop時に再設定する

popoverで表示しているViewControllerのサイズを、他のViewController

記事を読む

UIActionSheetが消えるときにキーボード表示/非表示通知が来る

 UITextViewやUITextField編集中にアクションシートを表示すると、アクションシート

記事を読む

AVAudioPlayerの初回再生遅延

ちょっとした効果音の再生にAVAudioPlayerを使っているのですが、どうも初回の効果音ロードの

記事を読む

WSCoachMarksViewをSwiftで使う場合の手順

Objective-Cで記述されてるライブラリ全般に当てはまることもあるんですが、個別でやることも含

記事を読む

コードでiPhone6 Plusを識別する簡単な方法

表題の通り、コードでiPhone6 Plusを識別する簡単な方法です。 iPhone6 Plu

記事を読む

HTMLParserを修正する

HTMLスクレイピングしてる時に役立つライブラリであるObjective-C-HMTL-Parser

記事を読む

UICollectionViewが画面回転した時にレイアウトが崩れた時の対応

UICollectionViewCellのサイズを、内容に合わせて動的に変えた時に起こる問題に関して

記事を読む

UIButtonのLocalizeに関するTips

Storyboardに設置したUIButtonのタイトルのLocalizeをしてたのですが、英語では

記事を読む

Xcode10からのimage literal / color literalの指定方法

アセットにあるUIImageの直接指定が可能なImage litera

Xcode11でのバージョン番号の取得方法

Xcode11になってバージョン番号をスクリプトから得て自動で更新する

GoogleスプレッドシートからCSVにエクスポートしたデータを得る方法

情報がない中さんざ苦労しましたが、Googleスプレッドシート(の最初

画面回転をしたあとに、UITextViewの先頭を表示する

回転によりサイズが可変するUITextViewで、縦向き(ポートレイト

NXDrawKitを導入してみる

ACEDrawingViewがObj-Cで書かれていて、いまいちメンテ

→もっと見る

    PAGE TOP ↑