2008.09.28

[iPhone]Cydiaに登録するdebパッケージを作る手順(最低限版)

ほとんどのちなさんに対する私信ですが。
gtxtEditJplusを例に取って、Cydia用のdebパッケージの作り方の手記を置いときます。

のちなさんの母艦はWindowsとのことなので、iPhone/iPod touch上で作業するという前提の説明です。

Packagesファイルの作り方を含む完全な情報はSaurik氏のページのこちらに。
自分のやり方は、かなりはしょっているので念のため。

How to Host a Cydia Repository

まずは、動くアプリケーションを作る。

iPhone/iPod touch(以下iPhoneとする)にrootユーザとしてSSHでログインし、/var/root/に掘ったaptディレクトリへ移動して、パッケージの名前になるディレクトリ、com.gojohnnyboi.gtxteditjpuls_0.9-1_darwin-armを掘る。

# cd
# mkdir apt
# cd apt
# mkdir com.gojohnnyboi.gtxteditjpuls_0.9-1_darwin-arm

com.gojohnnyboi.gtxteditjpuls_0.9-1_darwin-arm内に移動して、インストールする必要のあるファイルをルートからの構造を再現するようにコピーする。

# cd com.gojohnnyboi.gtxteditjpuls_0.9-1_darwin-arm
# mkdir Applications
# cp -r /Applications/gTxtEditJplus.app/ Applications/

母艦がMacの場合は、.DS_Storeを掃除しておく。(下記はカレントディレクトリ以下にある.DS_Storeを再帰的に削除)

# find . -name .DS_Store -print -exec rm {} ";"

必要なパーミッションが外れてたら付けておく。

# cd Applications/gTxtEditJplus.app/
# ls -l
total 80
-rw-r--r-- 1 root wheel   877 Sep 28 19:38 Info.plist
-rwxr-xr-x 1 root wheel 58048 Sep 28 19:38 gTxtEditJplus*
-rwxr-xr-x 1 root wheel    60 Sep 28 19:38 gTxtEditJplus_exec*
-rw-r--r-- 1 root wheel 10631 Sep 28 19:38 icon.png
# chmod u+s gTxtEditJplus gTxtEditJplus_exec
# ls -l
total 80
-rw-r--r-- 1 root wheel   877 Sep 28 19:38 Info.plist
-rwsr-xr-x 1 root wheel 58048 Sep 28 19:38 gTxtEditJplus*
-rwsr-xr-x 1 root wheel    60 Sep 28 19:38 gTxtEditJplus_exec*
-rw-r--r-- 1 root wheel 10631 Sep 28 19:38 icon.png

com.gojohnnyboi.gtxteditjpuls_0.9-1_darwin-arm直下にDEBIANディレクトリを掘る。
controlファイルを作る。

cd ../../
mkdir DEBIAN
vi DEBIAN/control

内容はこんな感じ。

Package: com.gojohnnyboi.gtxteditjpuls
Name: gTxtEditJplus
Version: 0.9-1
Architecture: iphoneos-arm
Description: Copy & paste oriented text editor for Japanese.
 Once copy text on this app, paste anywhere via Japanese input method.
 gTxtEditJplus enable you to...
 Paste from Safari, Paste to Safari with modified iCopy bookmarklet.
 Make new mail message from clipboard, and so on.
 For details, please visit the following website.
Homepage: http://www.hamkumas.net/ipod/
Maintainer: moyashi <hitoriblog_NO_NO_SPAM@gmail.com>
Author: nochina <nochina_NO_NO_SPAM@hamkumas.net>
Section: System
Depends:
Conflicts:

Versionは、「アプリケーションのバージョン番号-パッケージのバージョン番号」と付ける。
パッケージをやり直したら「0.9-2」などとなっていく。
Descriptionの2行目以降は行頭にスペースを入れる。
Dependsにインストールを前提にしたいパッケージ名をカンマ区切りで書いておくと、もしインストールされていなかった場合に事前にインストールをしてくれる。
同時に存在できないパッケージがあるならば、項目Conflictsにパッケージ名を書いておくと警告が出て、トラブルを回避できる。
Name, Author, HomepageはCydia独自の項目。

ゴミが出来てたら消しておく。

# ls DEBIAN
control control~
# rm DEBIAN/control~

com.gojohnnyboi.gtxteditjpuls_0.9-1_darwin-armのあるディレクトリに移動して、パッケージ作成。
この際、tab補完すると、末尾に「dpkg-deb -b com.gojohnnyboi.gtxteditjpuls_0.9-1_darwin-arm/」といった感じで「/」が入るので、これは削除して実行。
非標準の項目(Name, Author, Homepage)が交じっているという内容のWarningが出るが無視。

# cd ..
# dpkg-deb -b com.gojohnnyboi.gtxteditjpuls_0.9-1_darwin-arm
# ls
com.gojohnnyboi.gtxteditjpuls_0.9-1_darwin-arm/
com.gojohnnyboi.gtxteditjpuls_0.9-1_darwin-arm.deb

debパッケージが出来ているはずなので、既にアプリケーションがあれば削除して、インストールテストする。

手動でインストールしていた場合。

# rm -rf /Applications/gTxtEditJplus.app

前回もdebパッケージから入れていた場合。
controlに書いた「Package: com.gojohnnyboi.gtxteditjpuls」が識別子になる。

# apt-get remove com.gojohnnyboi.gtxteditjpuls

SpringBoardのキャッシュをリフレッシュして、respring。

# su mobile
$ uicache
$ restart
$ exit

パッケージのインストールテスト。

# dpkg -i com.gojohnnyboi.gtxteditjpuls_0.9-1_darwin-arm.deb
# su mobile
$ uicache
$ restart

これで正常にインストールされていればdebパッケージの完成。

その他の知識

debパッケージの解凍方法。
-xでインストールするファイルの解凍、-eで管理ファイルの解凍。

# mkdir temp
# dpkg-deb -x com.gojohnnyboi.gtxteditjpuls_0.9-1_darwin-arm.deb temp
# dpkg-deb -e com.gojohnnyboi.gtxteditjpuls_0.9-1_darwin-arm.deb temp

今回題材にしたdebパッケージへの直リン
http://homepage3.nifty.com/moyashi/cydia/com.gojohnnyboi.gtxteditjpuls_0.9-1_darwin-arm.deb

|

[iPhone]コピー&ペースト機能搭載テキストエディタgTxtEditJplus

開発終了のため、公開停止しました。再配布はしないように願います。(2010.05.30)

iPhone OS 2.0以降を搭載したiPhone / iPod touchで動作するテキストエディタ、gTxtEditの改変版であり、日本語のエンコーディング自動判定対応、さらに強力なコピー&ペースト機能を搭載したgTxtEditJplusを、J.O.R.7ちゃんでおなじみ「のちな(nochina)」さんがお作りになったので、Cydiaの野良リポジトリに登録しておきました。

gTxtEditJplusは、

  • CydiaのMobileFinder(App StoreにあるMobileFinderとは別です)との連動機能を搭載しgTxtEditJplusでファイルを開ける
  • gTxtEditJplus中でコピーしたテキストを、どこにでも(Safariにも、メモにも、メールにも、マップにも、どこにでも!!)ペーストが可能(例の履歴機能を利用)
  • 改変版iCopyといっしょに使うことで、Safariからのコピーが可能

などという感じで、ワルな仕上がりになっています。
詳細については、のちなさんのサイトをご覧ください。

■iPod touchを、音楽プレイヤーよりもPDAよりも、PCとして使うという心意気でがんばる■

インストールは、こちらのエントリを見て僕が管理しているCydiaのリポジトリを登録し、SBankNotify同様、検索画面から「gtxteditjplus」と入力して見つけてください。カテゴリ的には「System」に入っています。

余談: ときに、Cydiaの「Changes」の上の方に表示させるにはどうしたらよいんですかね。

MobileFinderとの連携方法

ファイルを選択した後で「Modify」→「Open With」→「gTxtEditJplus」とすることで、MobileFinderからgTxtEditJplusにファイルを開かせることができます。

あるいは次のような方法があります。
MobileFinderの「Setting」を、以下のことを注意しながら設定します。

【Cydia】JailBreak Part7【Installer】
http://pc11.2ch.net/test/read.cgi/iPhone/1221958667/417

MobileFinder上で作業してね 1.まずcom.googlecode.MobileFinder.plistのパーミッションを755に 2.その後設定をいじる 3.終了時にホームボタン長押しかsettingsからClose

終了の時にホームボタンちょこっと押して終了すると1からやり直さないと設定を保存できません
めんどくせえw

「File Associations」の「txt:com.google.MobileTextEdit」を、「txt:com.gojohnnyboi.gtxteditjplus」に書き替えます。
「Finder」ボタンで設定画面を抜けます。ホームボタン長押しでMobileFinderを終了。

以降、MobileFinder上で拡張子txtのファイルをタップするとgTxtEditJplusで開けるようになります。
ただし、一度でも終了方法を間違えると設定が初期化されてしまいます。
いっそのこと、gTxtEditJplusのInfo.plistをいじって、Bundle Identifierの方を「com.google.MobileTextEdit」に書き替えてしまった方がいいかも……。

実際のアプリケーション間コピー&ペーストの流れ

Gtxteditjplus_0002
▲Safariで表示中のテキストをコピーしてみます。

Gtxteditjplus_0003
▲Safariのブックマークに登録したブックマークレット、iCopy改変版を起動。

Gtxteditjplus_0004
▲「Copy Text」を選択。

Gtxteditjplus_0005_2
▲コピーしたい文章が書かれた段落を選択します。すると、新しいウィンドウが開いて処理をした後、終了します。

Gtxteditjplus_0006
▲gTxtEditJplusを起動します。

Gtxteditjplus_0007
▲「Copy」ボタンを押し、「Paste」を選択。

Gtxteditjplus_0008
▲Safariでコピーしたテキストが貼れました。

Gtxteditjplus_0015
▲効果が分かりやすいよう改行を入れる編集を施しました。コピーを開始したいテキストの開始位置にカーソルを置き、「Copy」→「NewSelection」を選択、さらに終了位置にカーソルを置き……。

Gtxteditjplus_0016
▲「Copy」→「Copy」。Homeボタンを押してgTxtEditJplusを終了。

Gtxteditjplus_0017
▲SMSを起動して、日本語QWERTYモードにし、「p-」とタイプ、すると、候補にさきほどgTxtEditJplusでコピーしたテキストが登録されています。

Gtxteditjplus_0018
▲確定すればペーストされます。改行も残っています。

Gtxteditjplus_0019
▲「メモ」でも、

Gtxteditjplus_0020
▲2tchの書き込みフォームでもペーストできます。

|

2008.06.20

[iPod touch]ruBooksの日本語エンコーディング自動判定対応版ruBooksJ

iPod touch / iPhone用テキストリーダruBooksを例によって日本人向けに改造しました。

インストールは、これまた例によって野良リポジトリからできます。
自分はiPod touch 1.1.4で動かしています。1.1.2でも動くと思いますが、試していません。動かなかったらすいません。

改造で、日本語のエンコーディング自動判定ができるようにしました(Shift-JIS, EUC-JP, JIS, UTF-8)。
日本語のことしか考えてない改造なので、ruBooksJと名乗って別アプリにしました。

作者のSergey Makarov氏から依頼を受けてruBooksの日本語リソースを提供したという経緯があるので、修正を取り込んでもらうことも可能かと思いますが、この修正でファイルを開くのが改造前より遅くなるので考えどころですよね。

ruBooksはBooksの拡張版。検索、表示色の変更、表示色設定の切り替え(Day/Night)、Zipファイルの閲覧、自動スクロール、iPhoneのボリュームボタンへの対応などなど、オリジナルよりできることが増えてます。
また、ファイルブラウザが実装されたので、オリジナルのように「/var/mobile/Media/EBooks」にあるファイルしか閲覧できないということがありません。

ちなみに、使っているとよくファイルブラウザで落ちますよね、分かります。
オリジナルでも起きる思わしくない挙動をどうしても解決したい場合は、Sergey Makarov氏に連絡してあげてください。

|

2008.05.08

[iPod touch]TextEditJ.appを小修正

MobileTextEditJことTextEditJ.appをちょっと修正しました。

のちなさんの改造版を元に改造しました。その特徴を引き継いでいるため、コピー&ペーストができます。

フォントサイズを大きくしたいという要望をいただいたので、杜撰な対応をしてみました。
「/Applications/TextEditJ.app/fontsize.txt」を編集してフォントサイズを指定してください。



インストールは例によって「野良リポジトリ」からどうぞ。

「Productivity -> MobileTextEditJ (1.1.3)」です。1.1.4でも動きます。
すいませんが、1.1.2対応はしません。

ソースコード

ソースは公開の依頼があればします。
依頼があったのでソースを公開します。

「mobiletexteditj-0.3.1-0.4.zip」をダウンロード

|

2008.04.18

[iPod touch]iPod touchのlaunchdでコマンド/スクリプトの定期実行

cronの単独パッケージを作ってCydia環境でもコマンド/スクリプトの定期実行ができるようになりましたが、元々あるlaunchdでの定期実行をやったことがなかったので、実験をしてみました。

元々ある「/System/Library/LaunchDaemons/com.apple.daily.plist」が1日1回実行されるプロパティリストなので、基本的にはこれを自分用にカスタマイズすればいいだけです。
実行間隔/定期実行を決める項目は「StartInterval」で、単位は秒ですね。

10分に1回「/var/root/bin/wifistatus」というコマンド/スクリプトを実行するという内容のplistは以下のようになります。(utf-8 / LF)

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>Label</key>
	<string>com.hitoriblog.wifistatus</string>
	<key>Nice</key>
	<false/>
	<key>OnDemand</key>
	<string></string>
	<key>ProgramArguments</key>
	<array>
		<string>/var/root/bin/wifistatus</string>
	</array>
	<key>StartInterval</key>
	<integer>600</integer>
</dict>
</plist>

これを例えば、com.hitoriblog.wifistatus.plistとして保存し、scp等で「/System/Library/LaunchDaemons/」にコピー。
Installer.appからインストールできるErica女史のUlctlを起動、項目として現れる「com.hitoriblog.wifistatus」をタップ、「load -w」ボタンを押すと定期実行が始まります。

やめたければ、同様にして「unload -w」ボタンを押せばOK。
案外簡単にできました。

|

2008.04.07

[iPod touch]safaribm2stdoutとwgetでMobile Safariのブックマークを巡回してダウンロード

2008.04.10追記:元マカーさんがsafaribm2stdoutに関するエントリを上げてくださってます。「iPod touchでローカルWeb閲覧&巡回環境を構築してみる」、「iPod touchでローカルWeb閲覧&巡回環境を構築してみる(その2)

野良リポジトリにsafaribm2stdoutというコマンドラインアプリを登録しておきました。

「Network>safaribm2stdout (1.1.3)」です。

Mobile SafariのBookmarkの、「crawling」というFolderに登録されたBookmarkのURLを標準出力(stdout)に出力するものです。

そんなことができて何がうれしいのか?
DownloaderであるWgetと併用すると幸せになれます。

#!/bin/sh
cd /var/mobile/Media/Downloads
/var/root/bin/safaribm2stdout | wget -i - -N -k -r -l 1 -np

こんな感じのシェルスクリプトをShell Script ApplicationなどにしてHome Screen Iconとして登録しておきます。

巡回したいページをMobile Safariの「crawling」というBookmarkのFolderに登録します。
「crawling」なんてFolderは無い? 最初は「crawling」などというFolderは存在しませんので、自分で作ります。(最初はRで後がLです。スペルを間違えると動かないので注意)



作ったShell Script Applicationを起動すればダウンロードが完了します。

lighttpdやiSpit、ApacheなどのLocal Web Serverを起動しておき、/var/mobile/Media/DownloadsをMobile Safariで見にいけばOK!
ダウンロード先のFolderをBookmarkしておくと楽だと思います。

Wgetに付いているoptionは以下の意味となります。

-Nタイムスタンプを見てダウンロードをするかどうか判断
-kリンクを絶対リンクから相対リンクへ書き換え
-rリンク先を再帰的に取得
-l 1再帰的に取得するリンクのホップ数を1に設定
-np上の階層のファイルをダウンロードしない

ページからリンクされた画像なども一括ダウンロードされますので、オフラインでも画像まで見られるようになります。(そのはずですが、なんかダメですね)
Wgetにはたくさんのオプションがありますので、自分の使用形態に合わせて調整してみるといいかと思います。

海上さんのOS Xハッキングでタイムリーに「いま敢えて「Wget」をリスペクト」という記事が。Wgetの素晴らしさを知らない人は読んでみてください。

http://tech.bayashi.net/svr/doc/wget.html

http://members.at.infoseek.co.jp/futora/wget153/option.html

cronで定期巡回を組むPureなCydia環境ならこちらも)のも一興かと思います。

野良リポジトリには、safarihist2stdoutというコマンドラインアプリも登録してあります。
同様にして、

#!/bin/sh
cd /var/mobile/Media/Downloads
/var/root/bin/safarihist2stdout | head -1 | wget -i - -N -k -r -l 1 -np

といったような処理内容のシェルスクリプトアプリケーションを用意すれば、Mobile Safariで最後に訪れたページをリンクされた画像等ごとダウンロードできます。

Notes/注意事項

iPod touch/iPhone用にポートされたWgetには、名前解決できるものと、できないものがあります。
野良リポジトリにある「Wget (name resolvable)」とCydia PackagerからインストールできるWgetは名前解決できます。

Erica's Ported Utilitiesに収録されているWgetは名前解決できないと思います。

|

2008.04.03

[iPod touch]iPod touch用新型Dock Connector内蔵型マイク

今までのiPod touch用Dock Connector内蔵型マイクのDock Connectorは、市販のiPod touch用USBケーブルを都度破壊してDock Connectorを調達し、作っていたんですが、今回からパーツとして取り寄せたもので頒布用のマイクを作ってみました。

ワイヤリングペンが出てきたので、配線はUEWにしてみました。

Cydia PackagerからインストールできるErica女史の音声メモアプリ、Voice Notes 0.35b5(VNotes)を試していますが、このバージョンはiPod touchでもリセットがかからないようですね。
録音/終了ボタンを連打するなど乱暴に扱ってみましたが、大丈夫そうです。
これでグっとマイクの実用性が上がりました。

2008.04.04追記:やっぱりリセットかかりました><惜しいなぁ

Voice Notes(VNotes)で録音したファイルはamrで、Erica's Ported Utilitiesに収録されているffmpegでmp3にエンコードできます。

ffmpeg -i in.amr out.mp3

確かこれでいけるはず。

[iPod touch]Dock Connector一体型iPod touch用マイク頒布















|

2008.03.31

[iPod touch]Cydia環境用Cron

2008.07.14: ハレタさんより、このパッケージを入れたことによりキーボードバグが発生したとのことなので、リポジトリからは削除しました。必要な方は以下からどうぞ。

http://homepage3.nifty.com/moyashi/ipodtouch/zips/cron-for-cydia-0.1-1_arm-apple-darwin.zip

BSD Subsystemを入れていないPureなCydia環境には、今のところcronがありません。

定期実行マニアの自分にはそれが寂しかったので、BSD Subsystemから持ってきたcron関連ファイルのみでパッケージを作りました。

野良リポジトリの「System>Cron for Cydia」です。

インストール後、Erica女史の「UIctl」で「com.apple.cron」を「load -w」してください。
アンインストール前には「unload -w」した方がいいかと思います。

登録は「crontab -e」です。

viを起動しますので、viもしくはvimをインストールしておく必要があるかと思います。

「/var/root/bin/test.sh」を5分ごとに定期実行をさせる場合は、以下のように登録をします。
この辺りは一般的なcron / crontabと同様です。

*/5 * * * * /var/root/bin/test.sh

ただし、スリープすると実行は止まってしまうので悪しからず。

|

2008.03.29

[iPod touch]iPod touch 1.1.4のJailbreak後に発生するトラブルを回避

ここの情報は最早古いです。

1.1.4に復元した後、Mac OS X用のiLibertyX 1.51一発で片がつきました。

更新履歴


2008.03.31追記2:当初、「1.1.1→1.1.1 Jailbreak→(更新)→1.1.2→1.1.2 Jailbreak→(更新)→1.1.4→1.1.4 Jailbreak」という手順で書いていましたが、1.1.2を経由する必要が無いことが分かったので書き換えました。
2008.03.31追記:ZiPhone3.0で1.1.4から直接Jailbreakしてみましたが、やはりキーボード使用時のフリーズが発生しました。BSD Subsystemが自動的に入りますが、それによって音楽/動画再生ができなくなることはありません。Cydia Packagerは、インストール時にBSD Subsystemのファイルを削除するとのことなので問題無いかと思いますが、Cydia PackagerのCore Utilities+αの方が品質が高いという事実は変わりませんし、BSD Subsystemの項目がInstall.appの「Uninstall」に残るので、iJailbreakでJailbreakしてCydia Packagerをインストールした方がいいのではないかと思います。

前口上

iPod touchは1.1.2のままで粘ってきたんですが、世間様が1.1.3〜1.1.4に移行しているようなので、遅ればせながら1.1.4にしてみました。

僕の環境と方針

OSはMac OS X Leopard (Power PC)です。 iPod touchは16GBで、2007年10月に買ったものです。 iTunesは7.6.1にアップデートしてしまったので、それを使うことにしました。

1.1.4のJailbreakにおいてはSoft Jailbreakは避け、ZiPhone/iJailbreakを使ってするという方針に決めました。
この記事を書いているのは、ZiPhoneが2.6b、iJailbreakが0.6の時代です。
以降のバージョンないしは、新しい選択肢の出現で状況は変わっていくでしょう。

1.1.4 Jailbreak後にトラブルが発生している模様



ZiPhoneがiPod touch 16GB/32GBに対応していない間はJailbreakそのもので引っかかる人が多かったようですが、ZiPhoneがiPod touch 16GB/32GBに対応してからは、Jailbreak後に、以下の二つのトラブルで悩まされる人が出ているようです。

  • キーボード使用時にフリーズする
  • 音楽/動画が再生できない

何を隠そう自分もその両方にハマった口です。
方々のブログを拝見しながら試行錯誤した末、解決した感じなのでまとめてみます。

上記二つのトラブルは、それぞれ以下のような因果関係で起こっているようです。

かなり断定的に書いていますが、私が知りうるのは私の環境のみです。
あなたの環境で挙動が違ったらごめんなさい。

キーボード使用時にフリーズする



このトラブルは1.1.1→1.1.1 Jailbreakを経由していない環境で起きるようです。

例えば、「復元」でインストールしたまっさらの1.1.4をJailbreakした環境では、キーボード使用時にフリーズします。

下記のような段取りでJailbreakした1.1.4ではフリーズが発生していません。

1.1.1→1.1.1 Jailbreak→(更新)→1.1.4→1.1.4 Jailbreak

音楽/動画が再生できない



このトラブルは、BSD Subsystemをインストールした後、最初の再起動後から発生するようです。
BSD Subsystemをインストールしなければ発生しません。

BSD Subsystemは2.1でも1.1.4下での動作が怪しく、トラブルを引き起こす元凶になってしまっています。
とはいえBSD Subsystemは半ばインストールするのが常識となっていますし、実際無いと困ります。

そこで登場するのが「Cydia Packager」。
これ自体はInstaller.appの代替品ですが、インストールするとBSD Subsystem相当のCore Utilities等が併せてインストールされ、BSD Subsystemの代替として機能します。

Cydia PackagerプロジェクトはInstaller.app、BSD Subsystemの不完全さを憂いており、それらより品質が高く、リプレースできるものであることを指向しています。

まとめ




  • 「1.1.1→1.1.1 Jailbreak→(更新)→1.1.4→1.1.4 Jailbreak」という順序で1.1.4をJailbreak

  • Jailbreak後は「BSD Subsystem」はインストールせず、代わりに「Cydia Packager」をインストールする

この2点に注意すればトラブルが回避できた、ということになります。

iTunes 7.6.1下でのダウングレードとDFU Mode

1.1.4に「復元」してしまった場合は、1.1.1からやり直さなければなりません。

1.1.1へのダウングレードが必要になるわけですが、iTunes 7.6.1下では、「復元」でもiPod touchのファームウェアを1.1.3以下のバージョンにダウングレードできません。Jailbreak対策を考えてか、そういう制約が入っているからです。

iTunes 7.5にはそういう制約が無いので、iTunesをダウングレードするところから始める人も居ますが、僕はiTunesはそのままで、ZiPhoneでiPod touchを「DFU Mode」に移行させる手法を取りました。

「DFU Mode」とは何か? 僕もよく分かっていませんが、修復モードのより強力なもの、というイメージでしょうか。
「DFU Mode」になったiPod touchに対しては、iTunes 7.6.1は1.1.1へのダウングレードを許してくれます。

「DFU Mode」移行を使った1.1.1へのダウングレードの具体的な手順は以下の通りです。

  • 1.1.1のファームウェアをダウンロード
  • ダウンロードしたファイルに拡張子「zip」が勝手に付いていたら削除
  • ZiPhoneをダウンロードし解凍
  • iPod touchをMacに接続する
  • iTunesを起動
  • ZiPhoneを起動
  • ZiPhoneのメニュー「Mode→Restart in DFU Mode」を実行
  • iTunesがDFU Modeに突入したiPod touchを検出するので、Optionを押しながら「復元」ボタンを押す
  • 開いたファイルオープンダイアログから、さきほどダウンロードした1.1.1のファームウェアを指定

1.1.4から1.1.4 Jailbreakまで

後は1.1.4への「更新」、そしてJailbreakです。
1.1.4のJailbreakに使うのはZiPhoneかiJailbreakか、といった議論があり、ZiPhoneはフリーズを発生させるので、iJailbreakの方がいい、といった声も聞くのですが、前述のキーボードを使った際に発生するフリーズは、ZiPhoneでもiJailbreakでも起きます。

フリーズの発生は「1.1.1→1.1.1 Jailbreak→(更新)→1.1.4」という段取りを踏んでいるかどうかで決まるので、どっちを使うかは関係ありません。

再度書いておきますが、今現在のそれぞれのバージョンはZiPhone2.6b、iJailbreak0.6です。
今後状況が変わる可能性は大いにあります。

僕は1.1.4のJailbreakにiJailbreakを使いました。

  • iJailbreakをダウンロード
  • iPod touchをMacに接続
  • iTunesを起動
  • 「更新」で1.1.4にアップデート(最新版が1.1.4以降になり、ファームウェア1.1.4を別途用意する必要が出た場合はここにあります)
  • iJailbreakを起動
  • 勝手に表示されるダイアログには適宜対応
  • 「Jailbreak」ボタンを押す

Jailbreakが終わったら、「Cydia Packager」をインストールします。

  • Installer.appの「Sources」タブで「Edit」ボタンを押し、さらに「Add」ボタンを押して表示されたダイアログに「http://apptapp.saurik.com/」を入力、「OK」ボタンを押します
  • 念のため、「Refresh」ボタンを押します
  • 「System」カテゴリの「Cydia Packager」をインストール
  • BSD Subsystemのインストールをチェックするパッケージのために「System」カテゴリの「Fake BSD Subsystem」をインストールしておくといいかもしれません

繰り返しになりますが、「Cydia Packager」と「Fake BSD Subsystem」をインストールすれば基本的に「BSD Subsystem」は必要無いので、「BSD Subsystem」のインストールは避けます。

「Erica's Ported Utils」も、最早お役御免かもしれません。
なぜならば「Cydia Packager」からインストールできるSQLite3はReadlineのサポートが入っていてコマンドライン編集ができますし、wgetをはじめとするネットワークツールでは名前解決ができます!
libresolvがインストールされ、/usr/lib/libc.dylibに含まれる壊れたgethostbyname()の代わりに、それを使って名前解決するようリンクされているのです。

「Cydia Packager」はAPTをベースにしたパッケージ管理ツールで、依存関係のあるパッケージを自動的に判断してインストールしてくれるので便利!

また、「Cydia Packager」からインストールできるRubyにはコマンドライン編集が利くirbが付き、なおかつrequireしても落ちません! GCにあった問題を解消しているそうです。
昨年の段階ではRubyがちゃんと動かないのはiPod touchのメモリが少ないせい、という話になっていましたが、そんなことはなかったわけですね。そうなるとRubyCocoaが欲しいところ。

|

2008.03.13

[iPod touch]iPod touchとW-SIMその2

noviさんの「iPod touch に W-SIM を接続してみた」などを見て、配線してみた。

noviさんのブログには

W-SIM             touch
                 GND-----------GND:1
                 GND----SERIALGND:11
1:TD---------------------------TD:12
2:RD---------------------------RD:13
9:VCC------+3.3V
10:GND-----GND
15:IFSEL---GND 

と書いてありますが、touch側のSERIALGNDは20番、TD(TxD)は19番、RD(RxD)は18番ではないですか?

iPod Dock Connectorピン配列参考:Dock Connector - wikiPodLinux
W-SIMピン配列参考:W-SIM と WILLCOM SIM STYLE

それと、TDはRDと、RDはTDとつなぐんじゃなかったでしたっけ?

W-SIM             touch
 
                 GND----------GND:16
                 GND----SERIALGND:20
1:TD---------------------------RD:18
2:RD---------------------------TD:19
9:VCC-----------------------+3.3V:13
10:GND-----GND
15:IFSEL---GND 

とりあえず、上記のように接続。
なぜかiPod touchに入っていたminicomで「Serial Device」を「/dev/tty.iap」に、「Bps/Par/Bits」を「19200 8N1」に、「Hardware Flow Control」を「No」にしてみるも、ウンともスンとも言わず。

W-SIM             touch
 
1:TD---------------------------TD:19
2:RD---------------------------RD:18

につなぎ変えても同じ。よくわかんね。noviさんに教えてもらおう。


|

より以前の記事一覧