iKMHacks -4ページ目

iKMHacks

著者のリポジトリもお願いします
http://cydia.ikmhacks.futene.net

こんにちは。
今日はiPad Airの発売日ですよ!
私は一切買うつもりありませんけど...。
欲しい....欲しいなんて.....(察し

さて、そんなどうでもいいことは置いておいて。
iPad Airは51,800円より購入が可能です。
容量は16GBから128GB


価格表















キャリア
容量
価格
iPad Air Wi-Fi16GB\51,800
32GB\61,800
64GB\71,800
128GB\81,800
iPad Air Wi-Fi + CellularSoftBank16GB\65,520
32GB\75,600
64GB\85,680
128GB\95,760
AU16GB\65,520
32GB\75,600
64GB\85,680
128GB\95,760



Apple Store iPad Air
SoftBank iPad Air
AU by KDDI iPad Air
どうも、iKMHacksです。
今回は、iOS 7.0.2の仮脱獄が完了したのでその手順を載せていきます。
iOS 7.0.2の仮脱獄は今までのものとは違い、「クリックだけでいけるもの」ではありませんし、Cydiaなどもないのでそれなりの知識自己責任がついてきます。また、SSHを用いて行うのでセキュリティにはご注意ください。それでも行う方はこれから紹介する手順をどうぞ。




〇参考
opensn0wを使ったiPhone 4 iOS 7.0.2 tethered jailbreakとsshのInstall方法


〇使用した環境
・iPhone 4(GSM) iOS 7.0.2
・Windows 7
・Mac OS 10.6.8


〇必要な物
・MacPorts
・UNIX Development Support(Xcode同封)
・iPhone 4 iOS 7.0.2
・Windows 7(私の環境では必要でしたが、普通は不必要かもしれません)
・Mac OS 10.6.x(10.6.8を使用)
・Java(x32)
・SSHソフト(私はWinSCP)




〇MacPortsなどのインストール
Macportsをインストールします。
ダウンロードして起動してください。
The MacPorts Project Official Homepage



手順に従い、インストール


インストールが完了したらTerminalでsuと打ち、rootにログインする(sudoでも可)
su
パスワード


次にパッケージリストをアップデートします。
port selfupdate


そして最後に必要なものをインストールさせます。
port install autoconf
port install automakke
port install libtool




以上で完了です。

後の作業は全てsuコマンドでログインしたまま行います




〇opensn0wの準備
opensno0wをクローンするのですが、Macに標準でgitは含まれていません。
そこでまずそれをインストールしましょう。
git-osx-installer

インストールが完了しましたらTerminalに戻りopensn0wをクローンします。

場所はその都度変更していただいて結構です(今回はDesktop)
cd Desktop
git clone https://github.com/winocm/opensn0w.git


これをビルドするのですが、Linux用でMacでは行えません。
なのでパッチを当てます。
面倒なのでターミナルでダウンロードしてしまいましょう。
※DLと解凍作業は手作業で行ってもいけます。
curl -O http://devbug.me/attachment/4174303333.zip
unzip 4174303333.zip
cp opensn0w3.diff opensn0w
cd opensn0w
patch -p1 < opensn0w3.diff


続いてopensn0wをビルドします。
chmod +x autogen.sh
./autogen.sh
./configure --prefix=/Users/ユーザ名/Desktop/opensn0w_build
make
make install


エラーも出ずに完了すれば準備完了です。




〇iOS 7.0.2のroot取得
続いての作業はMacで行ってOKです。
私の環境ではなぜか落ちるのでWindowsで行いました。

ssh_rd_rev04b.jarをダウンロードします。
ssh_rd_rev04b.jar

続いて先ほどのファイルを起動します。
ただし、32bitでしか動作しないため、64bit OSは注意です。

起動するとiPhone 4を繋ぎ、DFUモードにいれます。
すると勝手に作業が始まり、Success!と表示されれば完了です。
普通に起動してしまったり、Success!とでなければ失敗なのでもう一度行ってください。



続いてSSHソフトを立ち上げます。(私はWinSCP)

ホスト:localhost
アカウント:root
パスワードalpine

でログインを行います。

コンソール(コマンド⇒コンソールを開く)を開き、コマンドを入力します。
mount_hfs /dev/disk0s1s1 /mnt1

/mnt1にファイルがあればOK。
なければ一度切断して再度ログインすると表示されます。

/mnt/etc/fstabというファイルがあるのでコンピューターにコピー
テキストエディタで開き、「/dev/disk0s1s1 / hfs ro 0 1」を「/dev/disk0s1s1 / hfs rw 0 1」に変更。
そしてそれを元の場所に戻します。



次に/mnt1/System/Library/LockdownにあるServices.plistをコピーし、エディタ(plist Editor)で開き、以下の青字を追加する
<key>com.apple.afc</key>
  <dict>
    <key>AllowUnactivatedService</key>
    <true/>
    <key>Label</key>
    <string>com.apple.afc</string>
    <key>UserName</key>
    <string>mobile</string>
    <key>XPCServiceName</key>
    <string>com.apple.afcd</string>
  </dict>
<key>com.apple.afc2</key>
  <dict>
    <key>AllowUnactivatedService</key>
    <true/>
    <key>Label</key>
    <string>com.apple.afc2</string>
    <key>ProgramArguments</key>
    <array>
      <string>/usr/libexec/afcd</string>
      <string>--lockdown</string>
      <string>-d</string>
      <string>/</string>
    </array>
  </dict>


同じく元の位置に戻します。

次にSSH2_bundle.tgzをダウンロード。
そして展開します。
その後展開したフォルダにあるbinの中身/usr/binにコピー
※WinSCPの場合エラーが出ますが、おそらく問題はないです。

続いてコピーしたファイルに実行権限を与えます。
tarを右クリックし、プロパティを開きます。
パーミッションのXに3つともチェックをつけてOK
これをgzipにも行ってください。(他人はいらない気がしますが)
※これを行わないと次の項目が行えません。



次にダウンロードしてきたSSH2_bundle.tgzを/mnt1にコピー
コンソールで以下をタイプ
cd /mnt1
tar xzf SSH2_bundle.tgz


以上を終えれたら以下をタイプ
halt

これでiPhoneの電源が切れます

以上がエラーも出ずに行えれば完了です。




〇iPhoneをBoot
ここからまたMacの出番です。
Macで行っていた方はそのままMacで行ってください。

iPhone3,1_7.0.2_11A501.plistをダウンロードし、opensn0w_build/bundlesに保存

続いてiPhone 4をDFUモードにいれ、Terminalで以下を実行(root権限必要かは不明)
cd Desktop/opensn0w_build/bin
./opensn0w_cli -p ../bundles/iPhone3,1_7.0.2_11A501.plist


すると文字が大量に表示されてiPhone 4もいつもの脱獄と同じような画面になります(Verbose mode)


無事起動が完了すれば成功です。
最後にSSHで接続ができるか確認しておきましょう。
Terminalで以下を入力
ssh root@iPhoneのIPアドレス

パスワードはalpineです。

とりあえずこれで基本的な作業は終わりですが、パッケージなどこのままではインストールすることができませんので次項で準備を行います。




〇パッケージなどをインストール
パッケージリストと必要なファイルを準備します。
既に脱獄済みのデバイスがある方はiFunBoxなどで/var/lib/var/cacheをパソコン側にコピーしてください。
脱獄済みのデバイスがない場合は脱獄後にCydiaも開けていない真っ新なものを用意したのでそちらをお使いください。
ダウンロード

準備ができましたらそれをSSHで/var/にコピーします。

そしてコンソールで以下をタイプしてください。
apt-get update

エラーがでなければ完了です。

続いてパッケージをインストールします。
今回はMobileTerminalをインストールします。
MobileTerminalをダウンロード。
MobileTerminal 520-2

ダウンロードしてきたものをSSHで適当にコピーし、以下をタイプ
cd <コピーしたフォルダパス>
dpkg -i MobileTerminal_520-2_iphoneos-arm.deb


これでインストールは終わりました。
しかし、SpringBoardには反映されていないので再びVerbose bootさせてください。
./opensn0w_cli -p ../bundles/iPhone3,1_7.0.2_11A501.plist





以上がiOS 7.0.2の仮脱獄方法です。
操作が多い上に環境に縛られるので本当に開発向けという感じですね。
そもそも仮脱獄自体が開発者向けといっても過言ではありませんけど・・・
とりあえず、「仮脱獄」だからといって必ずしも使いやすくなるわけではないのでご注意ください。


〇余談
余談ですが、iOS 7でもiOS 4.3 SDKでビルドしたアプリケーションが動作しました。
もうiOS 4.x SDK使ってる人いないと思いますけど参考程度に!


〇追記 2013-11-7
iOS 7.0.3がリリースされましたが、当方のiPhone 4がiOS 6.1でメイン機化してしまったので検証できなくなりました。
どなたか勇者様方情報の提供求む・・・っ!
photo:01


さて、少しばかり遅れたiOS 7のリポートとなります。

今回のiOSはかなり見た目が変更されていす。初めてだと戸惑います。(本当に
まだシステムを見たわけではないのでどこまで変更されたかわりませんが、内部もかなり変更されているかと思われますのでアップデートの際は必ずバックアップを作成しておきましょう。また、SHSHが取得できる場合は必ず取得しておきましょう。



○新機能など

  • ユーザーインターフェイス

  • iOS 7の目玉でもあるユーザーインターフェイスの変更。インストール後に嫌でも見えてしまう部分ですが、かなりフラットで今までのiOSとはまったく違った印象を与えるものとなっています。

    photo:02


    こう大幅に変更されたiOSですが、実際に扱ってみると以前と何ら変わりないことに気がつくでしょう。

    photo:10


    今回は「設定」を開けましたが、見た目は確かにまったく違います。しかし、基本的な操作は何ら変わりありません。
    その他にも、「メール」、「Safari」や「メッセージ」など見た目がかなり変わっていて操作も一見違って見えますが、何れもまったく同じです。



  • コントロールセンター

  • 今回の目玉、「コントロールセンター」。iOS 5から上からのスライドで出る通知センターがありましたが、iOS 7からは下からのジェスチャーでこの機能が出るようになりました。

    photo:04



    コントロールセンターは主に良く使われる機能がすぐに設定できるようになっています。例えば、「Wi-Fi」や「バックライト」などコントロールセンターから簡単にオン/オフにすることができます。その他にも音楽コントロールや画面回転なども割り当てられています。

    ここである疑問が。
    "キーボードで「ん」などを打つと出てくるのでは?"
    出ないようになっています。(実はBetaいくつか忘れましたが、出てしまう時代もあったんですよ。)


  • 通知センターセンター

  • 今までも通知センターはありましたが、iOS 7では従来の機能に新しいものが幾つか追加されました。

    photo:05



    「今日」と「未確認」が新しく追加されました。これらの機能に関してはまだあまり使ってないのでわかりませんが、おそらく以前より使いやすくなったのでは?と思っています。


  • Spotlight

  • photo:06



    今までは一番左のページにありましたデバイス内検索「Spotlight」。今回から画面を下にフリックすることででるようになりました。正直この機能は使わないので私とひては煩わしいです。iPhone 4は特にスペックとしてももう引退してもいいデバイスですし。よく使う人にとっては便利かもしれません。


  • マルチタスク

  • iOS 7での目玉③である「マルチタスク」。従来のiOSでは下からタスクバーが表示されましたが、今回からはアプリケーションの画面そのものが表示されるようになりました。

    photo:07



    従来のiOSではアプリケーションを長押しして消したりする必要がありましたが、今回から縮小プレビューを上にフリックするだけで終了させることができます。

    Auxoを彷彿とさせますね。


  • バックグラウンド・フェッチ処理

  • photo:08

    ・Not running: アプリケーションが起動していない状態
    ・Inactive: アプリケーションがフォアグラウンドで動作しているものの、利用されていない状態
    ・Active: アプリケーションがフォアグラウンドで実行されている状態
    ・Background: アプリケーションが裏で動作している状態
    ・Suspended: メモリの保持はしているが、アプリケーション自体は動作していない状態

    ※Appleのドキュメントより

    このドキュメントによると、アプリケーションからホームボタンを押すとバックグラウンドモードに入り、アプリケーションが裏でも動作するかを選択し、必要であればそのまま実行するようで、必要でなければSuspendedに入るそうです。これは今までもあった機能で、ダウンロードなどに使われています。しかし、10分以内に終えない場合や、他のアプリケーションの状態次第でSuspendedモードに入ります。

    では、iOS 7ではどのようになるのでしょう。iOS 6までであってもマルチタスクというのはありましたが、ごく一部のみでした。
    ゲームやニュースなどは、従来だと起動後にデータのダウンロードがされ、ユーザーの待機時間がありました。しかし、iOS 7からは これらの処理をバックグラウンドとして動作させ、必要であればネットワークからダウンロードしたりすることができます。

    実際に確認してみるとどうも違うようです。
    バックグラウンド設計をしているアプリケーションのみがこれに対応でき、バックグラウンドでも処理ができるようです。例えば、Facebook。今までは一度閉じるとそこで更新は止まってしまいますが、このバックグラウンド機能を利用すれば別の作業をしている間も更新され、すぐにタイムラインの確認ができるようになります。

    フェッチはそれを制御するものでオフにすると完全にバックグラウンド処理が制限されてしまいます。

    photo:09




  • パフォーマンスの改善

  • iOS 7 Beta 3でもご紹介しましたが、SpringBoardのメモリリークが改善されていて、とても快適になっています。
    バックグラウンド処理に関係しているのか一時的なリークは発生しますが、メモリ解放してあげればキレイになります。



    これらにもまだまだありますが、現在確認できているものはこれだけです。もしその他にも発見できましたら記載していきます。また、バックグラウンドの新機能についてはもしかすると誤りがあるかもしれません。もし誤りがありましたらご報告いただけると幸いです。

    そして、動画レビューするとか言ってましたが、諸事情により撮影できなくなりましたのでお蔵入りとなります...