iPhoneでJailBreakなしでのテザリングに成功したよ!


iPhoneでJailBreakなしでのテザリングを実現する方法を発見

MacBook Proを持ち運ぶことが増えたのと計画停電のこともあり、モバイルWi-Fiルーターが欲しいなと各社比較検討をしていました。

その結果、ドコモのHW-01CかBF-01Bを契約しようと思ったその直前、どんなキーワードで検索したか覚えてないのですが、iPhoneでのテザリング(厳密に言えば別物だけど、同じことができるのでテザリングと表現します)について下記のページを発見。早速試してみることに。

/apple/random, JB無しのiPhoneで“テザリング”
http://macnumbers.tumblr.com/post/349883742/iproxy-setup

こちらで紹介されているiProxyというアプリ(App Storeにあるやつとは別物)でテザリングができるのですが、このアプリをiPhoneに入れるまでが超絶面倒です。

ここでは、iProxyをiPhoneに入れるまでの手順を詳しく紹介します。また、アプリをiPhoneに入れるには、Macが必要になります。

あと、使いはじめの設定がやや面倒なので、たまに外出先でPCをネットに繋ぎたいけどモバイルWi-Fiルーターを契約するほどではない、というくらいの人が対象になるのかなと思います。

iOS Developer Programを契約して、Xcodeをインストール

まずは、iOS Developer Programの契約が必要になります。タダでテザリングできると期待してた方はがっかりされるかと思いますが、99ドル(Apple Storeでは10,800円)かかります。

年間ライセンスですが、iProxyを入れるだけならその後の更新は不要です。
3ヶ月ごとにプロビジョニングプロファイルの更新をしないとアプリが起動できなくなります。「iProxyを継続して使うためのプロビジョニングプロファイルの更新方法」を参考にプロビジョニングプロファイルを更新してください。

規約の確認が必要ですが、既にiOS Developer Programを契約している人にiPhoneを渡して、iProxyを入れてもらうというのもアリなのかもしれません。ここでは、自分で契約するという前提で話を進めます。

まず、Apple Developer Programの登録サイトでApple Developerのアカウントを作ります。手続きの途中から英語になります。

英語が苦手な人はGoogle先生に翻訳してもらいながら頑張ってください。

Apple Developerアカウントの作成からiOS Developer Programの登録まで、キャプチャ画像付きの解説記事「英語がわからなくてもできる Apple Developer Program への登録」を掲載しました!

また、Apple Developerでの手続きで日本語を使うとエラーになるので、住所などの情報もすべて英語表記で入力してください。

Apple Developerのアカウントを作ったら、Apple Developerのサイトのメンバーセンターへ移動し、Your AccountページのDeveloper Programsで「iOS Developer Program」を選択します。ここでの手続きもやっぱり英語です。英語が苦手な人は再びGoogle先生を頼りましょう。

手続きを進めて行くと、Apple Storeでの決済に移ります。カートに「iOS Developer Program」が入っているので、そのまま購入してください。

購入翌日くらいにAppleからiOS Developer Programのアクティベーションコードがメールで届くので、メールの指示に従いアクティベーションを行うのですが、日本人であればApple IDの氏名で日本語を使っているはずなので、ここでエラーが発生します。下記ページを参考にAppleに対処してもらい、アクティベーションを完了させてください。

iPhone Developer Program のアクティベーションに失敗と対応 | itFun.jp
http://itfun.jp/2009/09/iphone-developer-program.html

アクティベーションが完了したら、iOS Dev Centerで「Xcode 4.0.1 and iOS SDK 4.3」をダウンロードします(ログインすれば表示されます)。ファイルサイズが4.61GBあるので、かなり時間がかかります。気長に待ちましょう。ダウンロード後インストールしてください。

証明書の作成

iOS Dev Centerの右側のリンクから「iOS Provisioning Portal」に移動します。移動したら、左側のメニューから「Certificates」を選びます。ここの「How To」にスクリーンショット付きで細かく手順が説明されてるのですが、英語なので補足します。How Toとここでの補足を併せて確認しながら進めるといいかと思います。

Generating a Certificate Signing Request

以下の手順でデスクトップにCSR(Certificate Signing Request)を作成します。

  1. アプリケーションの「ユーティリティ」から「キーチェーンアクセス」を起動
  2. OCSPとCRLをOffにしてください(最初からなってると思います)
  3. キーチェーンアクセスの「認証書アシスタント」から「認証局に証明書を要求」を選びます
  4. 認証書情報という画面が表示されるので、「ユーザーのメールアドレス」にApple IDのメールアドレスを、「通称」に自分の氏名を英語表記で入力し、要求の処理で「ディスクに保存」を選択、「鍵ペア情報を指定」にチェックを入れて、「続ける」を押します。
  5. 保存先を聞かれるので、デスクトップに保存します。
  6. 鍵ペア情報の画面で「鍵のサイズ」で2048ビット、「アルゴリズム」でRSAを選択して、「続ける」を押します。

Submitting a Certificate Signing Request for Approval

  1. iOS Dev Center > Certificatesの「Development」で「Add Certificate」(はっきり覚えてないのですが、「Request」とかの名称に変わっていたような)をクリックします。
  2. 「Create iPhone Development Certificate」という画面に移るので、「Choose File」で先ほどデスクトップに作成したCSRを選び、最後にSubmitをクリックします。

Approving Certificate Signing Requests

  1. 「Development」に対象のCertificateが追加されているので、「Approve」をクリックします。

Downloading and Installing Development Certificates

  1. 少し経ってから先ほどの画面を開くと、対象のCertificateに「Download」ボタンが表示されるので、これをクリックします。
  2. ダウンロードしたファイルをダブルクリックして、キーチェーンに追加します。

Saving your Private Key and Transferring to other Systems

この項目の手続きはやらないでください。

デバイス登録

デバイス登録の説明は、iOS Provisioning Portal > Devices > How Toに記載されています。

Locating a Unique Device ID

  1. XcodeのOrganizerまたはiTunesで、iPhoneのデバイスIDを確認します。「Identifier」の番号がデバイスIDです。

Adding Individual Devices

  1. iOS Provisioning Portal > Devices > Manage で、Add Devicesをクリックします。
  2. Device Nameに好きな名前(日本語試してないけど英語で入れた方がいいと思う)を、Device IDに先ほど確認したデバイスIDを入力して、Submitをクリックします。

App IDsの作成

  1. iOS Provisioning Portal > App IDs > Manage で、New App IDをクリックします。
  2. Descriptionに適当な名前を入れて、「Bundle Identifier」に「*」を入力して、Submitをクリックします。

Development Provisioning Profilesの作成とダウンロード

  1. iOS Provisioning Portal > Provisioning > Manage で、New Profileをクリックします。
  2. Profile Nameに適当な名前を入れて、「Certificates」、「App ID」、「Deveices」のそれぞれでこれまで登録したものを指定して、Submitをクリックします。
  3. 少し経ってから先ほどの画面を開くと、対象のProfileに「Download」ボタンが表示されるので、これをクリックします。
  4. ダウンロードしたプロファイルをXcodeのアイコンにドロップしてください。(先にXcodeを起動しておくとドック上にアイコンが表示されます)

iProxyを動かせるようにiPhoneを開発機として設定する

  1. 対象のiPhoneを接続した状態でXcodeの「Organizer」(XcodeメニューバーのWindowから開けます)を開き、対象のiPhoneを選択して「Use for Development」というボタンをクリックしてください。

iProxyソースコードのビルドとiPhoneへの転送

  1. iProxyのサイトから、iProxyのソースコードをダウンロードします。(「download the latest tar-ball」ってリンクのところ)
  2. iPhoneをMacにケーブルで接続。
  3. ダウンロード後、プロジェクトファイル(iProxy.xcodeproj)を開きます。
  4. TARGETS > Build Settings > Code Signingで、先ほどXcodeにドロップして登録したProfileを選択。
  5. TARGETS > Build Settings > Architectures > Base SDKで「Latest iOS」を選択。
  6. 左上の「Scheme」で「Edit Scheme」を選択。
  7. 「Destination」で「iPhone(実機は右に括弧でiOSバージョンが記載される)」を選び、OKをクリック。
  8. 最後に左上の「Run」をクリックすれば、iPhoneにiProxyアプリが転送されます!

iProxyで夢のテザリングライフを

iProxyをiPhoneへ転送したら、あとは最初に紹介したサイトを参考にPCとiPhoneの設定を行ってください。iProxyの仕様が変わっているようなので少し補足します。

現在、SOCKSプロキシだけでなく、HTTPプロキシを起動できるようになっていて、SOCKSプロキシのポートが1080に変更され、HTTPプロキシのポートが8888となっています。

iPhoneにiProxyさえ転送できれば、後はiPhoneとPCの設定の問題だけです。少し難しいかもしれませんが、頑張ってみてください!

皆さんも是非、夢のテザリングライフを!

(追記)
gooスピードテストでテザリングの速度測ったら、1.67Mbpsでした!

iPhone・iPad間でのテザリング

下記アドレスのページで説明されてる手順で接続すれば、iPhone・iPad間でのテザリングも可能です。

iProxy setup demo for iPad
http://www.youtube.com/watch?v=RQxKcJzbhac

iPhoneとiPadだけでは同じネットワークに入れないので、一旦Macを使ってiPhoneとiPadを同じネットワークに入れて設定します。設定後は接続先のネットワークを変えない限り、Macがなくても繋がります。

iPhoneを一日普通に使って、約2時間半iProxyでのテザリングをしたところ、バッテリー残量が41%。これは使える!

このブログの人気の投稿

oh-my-zshの導入とか、zshとvimの環境をナウでヤングでシンプルな感じにした

Pagesの差し込み印刷が便利すぎて、Officeが完全に要らなくなった