メイン

iPhone & iPod Touch アーカイブ

2008年03月16日

iPhone SDK をインストールする (1)

手持ちの Mac mini が Mac OS X Leopard 環境になったので、晴れて iPhone SDK のインストールを始める。

まずは iPhone SDK のダウンロード。SDK のダウンロードは無料だけど Apple ID(ユーザ登録)が必要である。iPhone Developer Program のサイト で Download the Free SDK のリンクをクリック。既に Apple ID を持っていればそのままログインし、持っていなければ Apple ID を作成してログインする。

ログインに成功すると iPhone Dev Center にリダイレクトされる。ページの上部に Download - iPhone SDK のリンクがあるので、それをクリックすればダウンロードが開始されるはず。SDK のファイルサイズはかなり大きく 2.1GB もある。我が家の CATV インターネット環境で1時間強というところ。気長にダウンロード。

iPhoneSDK_download.jpg

2008年03月17日

iPhone SDK をインストールする (2)

iPhone SDK はディスクイメージ(拡張子 dmg)でダウンロードされるので、ダウンロード完了するとデスクトップに iPhone SDK というボリュームが現れる。その中身は以下の通り。余談だが Leopard のデフォルトのデスクトップ画像は僕には派手すぎるので、Apple 標準のデスクトップ画像に変更済み。

iPhoneSDK01.jpg

iPhone SDK をインストールする前に「About iPhone SDK」ドキュメントに目を通してみる。iPhone SDK には Xcode 3.1 が同梱されているらしい。Leopard をインストールしたときに Xcode 3 をインストールしていおたのだけど、どうやらその必要は無かったかなぁと思って読み進むと、1台の Mac に複数のバージョンの Xcode のインストールが可能とのこと。ということは、iPhone SDK のインストール後は、僕の Mac には Xcode 3.0 と 3.1 の両方がインストールされた状態になるということか。

あと、動作環境に関しても記述があり、「iPhone SDK will run on Intel-based Macs running Mac OS X v10.5.2 and later.」と書かれている。つまり Mac OS X 10.5.2 が必要ということ。僕の Mac は Leopard を入れたばかりで、システムプロファイラで確認すると、システムのバージョンは「Mac OS X 10.5 (9A581) 」、カーネルのバージョンは「Darwin 9.0.0」と表示される。OS のアップデートが必要だな。

というわけで、Apple メニューから「ソフトウェア・アップデート」を選択して利用可能な新しいソフトウェアを確認する。「Mac OS X 統合アップデート (10.5.2)」という項目が見つかったので、他のアップデートと併せて一括してインストール。アップデートが終わるまで iPhone SDK のインストールは一休み。

SoftwareUpdate01.jpg

2008年03月18日

iPhone SDK をインストールする (3)

Mac OS X が 10.5.2 にアップデートできたので、晴れて iPhone SDK をインストールしよう。既にダウンロードしてあるディスクイメージのファイルをマウントし、ボリューム中にある「iPhone SDK」のインストーラをダブルクリック。すると Xcode Tools インストーラが起動される。

iPhoneSDK02.jpg

最初にこの画面を見たときには iPhone SDK は別パッケージになっているのかなと懸念したけど、途中で iPhone SDK のライセンス許諾条項も表示されるので SDK も同梱されているようだ。「インストールの種類]ステップへ進むと iPhone SDK のパッケージもリストされている。

iPhoneSDK03.jpg

ほぼデフォルトのままインストールを続行。僕のマシンではインストール処理は1時間まで行かないが数十分程度は掛かる。インストールが完了すると再起動を促されるので、再起動すればインストールは完了である。

iPhoneSDK04.jpg

Xcode を起動して「ファイル」メニューから「新規プロジェクト」を選択すると、iPhone 用のプロジェクトも表示される。これで iPhone 及び iPod Touch 向けのアプリ開発環境は整ったということか。まだやっとスタートラインに立ったという状態。これからが大変だ。

iPhoneSDK05.jpg

2008年03月19日

iPhone SDK の入門ビデオをダウンロードする

iPhone SDK をインストールしてみたが、まだ右も左もわからない状態。iPhone Dev Center のサイトには Getting Started Videos と称した入門ビデオがアップされているので、まずはこれを観ることから始めよう。リンクをクリックすると QuickTime 形式でダウンロードできるのかなと思いきや、iTunes が起動してビデオ PodCast がリストされる。ムービーの形式は QuickTime なんだろうけどな。タイトルだけでは内容が良くわからないので10本全部をダウンロードしておく。でも観ている時間が無いな。

apple_getting_started_videos.jpg

2008年04月01日

iPhone SDK ベータ2版をインストールする

Apple から iPhoen SDK のベータ2公開の連絡をメールでもらったので、早速ダウンロードしてインストールしてみる。今回の目玉は Interface Builder が同梱されたこと。そのせいかダウンロードサイズは 1.36GB に及ぶ。Microsoft なら CD-ROM 配布のオプションも用意しそうな気もするけど、iPhone SDK をいじくろうって奴らが高速回線に繋がってねぇわけないだろうと決めて掛かってくるのはいかにも Apple らしい。暫らく放置してダウンロードは完了したものの、インストールにも結構時間が掛かりそうなので再び放置。多分画面に表示された予想残り時間ほどは掛かっていないだろうけど。それにしても昔の Mac のように爆弾マークが出たりしないのは助かる。

080401_iphone_sdk.jpg

2008年04月04日

iPod Touch を注文する

iPod Touch を Apple Store に注文する。このところ iPhone SDK をダウンロードして開発環境を整えたりしているのは、iPod Touch 向けのソフト開発をするため。エミュレータでもある程度開発は進めることはできるだろうとは思うけどやっぱり実機が無いとね。8GB モデルで $299.00 + Tax $23.18 で合計 $322.18 なり。送料無料。注文同日に発送したとの通知メールを貰う。到着が待ち遠しいね。

080402_ipodtouch-hero.png

2008年04月06日

iPhone エミュレータを動かしてみる

新しい開発環境は習うより慣れろということで、とりあえず Xcode を起動して Cocoa Touch List のプロジェクトを作成し、生成されたコードをそのままビルドして iPhone エミュレータで実行してみる。ちゃんと iPhone の形をした画面が表示されたことにまず感動。しかし真剣に開発するには画面が狭いか。ちなみに現在の画面設定はモニタが15インチなので 1024 x 768 である。モニタのアップグレードを検討しないといけないかな。

080406_xcode.jpg

2008年04月08日

iPod Touch が届く

先日注文した iPod Touch が FedEx で配達される。宛名ラベルの送り主欄には Apple と書かれていないのは、中身が想像できないように荷物のセキュリティを考えてのことか、それとも単に物流業者に業務委託しているためなのか。同梱されている Packing List には明確に Apple Store と書かれている。

とりあえず開梱。説明書らしい説明書が付いていないのは Apple 製品っぽい。これまで買った iPod や Mac mini もそんな感じだったような。本体を取り出して電源スイッチを押せばすぐ電源が入るのは Apple の「おもてなし」の一環か。楽しみにしていた製品が届いても、「ご使用前には数時間のフル充電が必要です」と余儀なくされるのはあまりに寂しいものな。

電源を入れると iTunes に接続しろと言われるので、常用している Windows マシンではなくて Mac mini に接続してみる。すると自動で最新のファームウェア 1.1.4 のダウンロードが始まる。ダウンロード完了して iPod Touch にそれが適用された後はユーザ登録画面が表示される。ユーザ登録が終わると通常の iTunes Store の画面へジャンプする。これで初期設定は完了か。

その後は自宅の Wi-Fi に接続するための設定。[設定]-[Wi-Fi]を選択して[ワイヤレスネットワークを選択...]から自宅の Wi-Fi を選択する。ネットワークパスワードを画面に表示されるキーボードで入力すれば完了。慣れない画面キーボードでは何度かご入力するが、小さいキーでも入力しやすいような考慮がされていて使用感は悪くない。慣れれば結構快適かもしれない。インターネットに接続できるようになったので、まずは YouTube に上がっている映像を幾つか見てみる。まるでワンセグケータイのような感じ。

今日のところはここまで。これまでいろんな人による iPhone や iPod Touch のレビューを読んできたが、「所詮はちょっと珍しい PDA だろ?」と思っていたけど大間違いだな。Apple はよくぞここまでのモノを作ったなぁと感心することしかり。所有する楽しみを感じる製品かもしれない。

DSCF4849.jpg DSCF4850.jpg DSCF4855.jpg

2008年04月10日

iPhone SDK ベータ3版をインストールする

iPhone SDK のアップデートを知らせるメールが Apple から届く。今回リリースされたのはベータ3版で、ベータ2版リリースから12日が経過している。早すぎず遅すぎず、なかなか良いタイミングのアップデートじゃないかな。今回もダウンロードサイズは 1.37GB もある。前版も充分に目を通していないけど、とりあえずダウンロードしてインストールしておく。

2008年05月05日

iPod Touch を Jailbreak する

先日購入した iPod Touch を Jailbreak する。

iPhone/iPod Touch には OS X (正確にはサブセットだろう)が搭載されているらしい。しかし、ユーザが任意のアプリケーションをインストールして実行できないようになっているという。言い換えるとプロテクションが掛かっているということ。具体的にこれはどういうことか想像してみると、音楽、映像、写真など iTunes からアクセス可能なエリアを除き、ファイルシステムの読み書き属性を与えていない(fstab の設定みたいな)、システムの書き換えには特殊なブートモード(メンテナンスモード)とパスワードを要する、ホストとはプロプラエタリな通信プロトコルしか提供していない(telnet や ssh 等は不可)といった制限が付けられていることかなと思う。

Jailbreak はこの制限を外す作業のこと。結果として様々なアプリを自由にインストールして実行することが可能となる。Jailbreak の詳細に関しては、有用な解説サイトが多々あるのでそちらを参考されたし。僕も先駆者達を見習って手持ちの iPhone Touch の Jailbreak を行ってみたい。以前は非常に面倒だった Jailbreak の手順も現在では非常に簡素化されているという話も聞くし。様々な解説サイトを読み漁った結果、最も手軽に Jailbreak を出来そうな ZiPhone というソフトウェアを利用させてもらうことにする。Jailbreak に関しては iPhone/iPod Touch のファームウェアのバージョンが重要らしいが、最新版の ZiPhone v.3 では僕の iPod Touch に搭載されている 1.1.4 のファームウェアにも対応しているらしい。常用の Windows XP マシンに iPod Touch を接続して実行してみる。

1. ZiPhone v.3 をダウンロードする http://www.ziphone.org/
2. ダウンロードした自己解凍アーカイブを展開する。
3. ZiPhoneGUI.exe を実行する。
4. Jailbreak をクリックする。

これであっさり完了。以前の Jailbreak 手順は非常に煩雑だったという話を聞くが、ZiPhone v.3 では簡単そのもの。作者の功績に感謝。さらに以前はこの後に BSD Subsystem、SSH、Installer を手作業でインストールしなければならなかったらしいが、ZiPhone v.3 ではそれらも自動でインストールされるようになったので、Jailbreak してすぐに好みのアプリのインストールを始められるようになっている。脱獄というよりも柵越えのような手軽だ。ありがたや。

ziphone30.jpg

DSCF5153.jpg

2008年05月06日

iPod Touch に SSH で接続する

iPod Touch が Jailbreak できて SSH もインストールされたので、パソコン上のクライアントから SSH 接続してみる。常用マシンには TeraTerm 用の SSH アドイン TTSSH をインストールしてあったと思っていたのだけど、調べてみるとインストールされていない。以前に使っていたマシンと勘違いしていたか。いまさら TTSSH をインストールするのも面倒なので、脇の Mac mini を立ち上げてターミナルから SSH コマンドで接続。家庭内の Wi-Fi に接続されている iPod Touch の IP アドレスを指定し、ユーザ名は root で、デフォルトのパスワードは alpine らしい。

# ssh root@192.168.2.5
Password: alpine
#

これであっさり接続。しばし時間を掛けてあちこちのディレクトリの中身を閲覧してみたり。iPod Touch の中身は確かに Unix だった。中身が明らかになるにつれて、iPod Touch に対する親密感がアップしてきているような気がするな。

2008年05月14日

iPhone SDK を更新する

iPhone SDK がベータ5(build 9M2173a, beta 5)へアップデートされたのでダウンロードしてインストールしておく。相変わらずサイズは大きくて 1.08GB もある。開発環境は最新に維持するようにしているものの、このところ忙しくて実際に手を染める時間が見つからず。でも先日 Jailbreak した iPod Touch は Unix ベースのファイル構成をいろいろ見てみたりしているので、Unix ベースのハンディ端末という感じで理解は深まっている部分もある。だけどそっち関係は Apple が前向きには情報開示していないので、ハッカーコミュニティで公開されている技術情報だけが頼り。

2008年05月27日

TeraTerm + TTSSH で iPod Touch に接続できない?

先日 Jailbreak した iPod Touch には OpenSSH をインストールしてあるので、これまでは Mac のターミナルで ssh を起動して iPod Touch に接続していた。あるとき、そういえば Windows マシンにも SSH 接続できるソフトをインストールしてあったなぁと思い出したので、TeraTerm + TTSSH で接続を試みる。しかし以下のメッセージが表示されて接続できず。

ttssh_failed.jpg
(This program does not understand the server's version of the protocol.)

このメッセージでネット検索してみると、どうやら SSH のプロトコルにはバージョンが存在するらしい。iPod Touch の OpenSSH は新しいロトコルを使っていて、僕が試した TTSSH では古いプロトコルしかサポートしていないために、このメッセージが表示された模様。ちなみに僕の環境にインストールされているソフトのバージョンは以下の通り:

  • Tera Term Pro 2.3
  • TTSH 1.5.4 (Compatible with SSH protocol version 1.5)
新しいバージョンに対応した TTSSH を同梱した TeraTerm が配布されているようなので早速ダウンロード。TeraTerm は UTF-8 対応になって TTSSH も同梱され、かつオープンソースとして SourceForge で管理されているらしい。

UTF-8 TeraTerm Pro with TTSSH2 - SourceForge
http://sourceforge.jp/frs/index.php?group_id=1412

インストールして試してみると問題なく iPod Touch に SSH ログインできる。ありがたや。

  • Tera Term Professional 4.58
  • TTSH 2.46 (Compatible with SSH protocol version 1.5 and 2.0)

2008年07月12日

オープンソースの iPhone アプリ開発環境を試す (1)

iPhone アプリ開発環境は Apple が配布している iPhone SDK が標準。だけど世の中には、オープンソースの iPhone アプリ開発環境も存在する。iPhone Toolchain と呼ばれるパッケージがそれ。Toolchain とは「製品開発に使われるソフトウェアを集めたパッケージ」という意味があるらしい。その構成は ARM プロセッサ用コンパイラと標準ライブラリ群に加えて、iPhone 用フレームワークといったところだろう。

iPhone Toolchain を Windows に移植した winChain というパッケージもある。これを使えば本来 Mac 環境で行う iPhone アプリ開発を Windows マシンでも行えるのだろうか。興味深いのでちょっと試してみよう。

winChain
http://code.google.com/p/winchain/

まずは winChain のセットアップ。Toolchain 自体をインストールしてから、Windows 上の Unix シェル環境である Cygwin をインストールする。

1) 以下の2つのファイルをダウンロードする

preBuiltToolchain v1.0
http://www.megaupload.com/jp/?d=DB0O3YNK
(MEGAUPLOAD というファイル共有サイトからダウンロード)

winChain 1.0.1.zip
http://code.google.com/p/winchain/downloads/list
(公式サイトからダウンロード)

2) ダウンロードした preBuiltToolchain.rar を解凍する
WinRAR等のアーカイバを用意しておこう。

3) ダウンロードした winChain 1.0.1.zip を解凍する

4) winChain.exe を実行する
winChain1.jpg

5) [Browse]ボタンをクリックして、preBuildToolchainを解凍したフォルダを指定する。
すると[Copy Toolchain Files into Place]ボタンが有効になる。

6) [Copy Toolchain Files into Place]ボタンをクリックする。
すると preBuildToolchain ファイル群が \cygwin フォルダへ移動される。
ソフトはハングアップしたような状態でディスクアクセスだけが激しく行われる(僕のマシンで3分間程度掛かった)。インストールが終わると以下のメッセージが表示される。
winChain2.jpg

7) 次は cygwin をインストールするのだけど、winChain.exe の[Install Cygwin Environment]ボタンは有効にならないので(プログラムソースを見たら有効にならないような処理になっていた。理由は不明)、[X]アイコンをクリックして winChain.exe を終了する。

8) winChain のディレクトリの Resources/InstallCygwin.exe を実行する。
cygwin1.jpg

9) 画面の指示通りに進む。[Select Local Package Directory]はデフォルトが変わった名前のディレクトリなので、自分にとって分かり易いディレクトリに変更しておいた方がいいかも。
cygwin2.jpg
あと、ダウンロード先サーバーは自分のロケーションに近いものを選んでおいた方がいいかも。
cygwin3.jpg
残りの手順はデフォルトのまま進む。

10) ダウンロードが始まったら、あとは待つのみ。ダウンロード後にインストール処理が自動的に始まる。
cygwin4.jpg

11) インストールが完了すると、アイコンを登録するかどうか聞いてくる。
cygwin5.jpg

12) [完了]ボタンをクリックして完了する。

これで winChain のセットアップは一通り完了。次は実際にソフトを作成してみる。

2008年07月13日

オープンソースの iPhone アプリ開発環境を試す (2)

前回 winChain のセットアップは完了したが、いきなり iPhone の GUI アプリを作成するのは荷が重い。Jailbreak した iPhone(僕が持っているのは iPod Touch だけど)ならばシェルも使えるので、まずはシェル上で実行できるコマンドラインアプリを作成してみる。

1) 以下の hello.c を作成する。

#include 
 
int main(int args, char *argv[])
{
	printf("Hello, dreamhound!\n");
	return 0;
}

2) 以下の Makefile を作成する。

CC=/usr/local/bin/arm-apple-darwin-gcc -v
CXX=/usr/local/bin/arm-apple-darwin-g++
TARGET=hello
LD=$(CC)
LDFLAGS = -framework CoreFoundation \
          -framework Foundation \
          -framework UIKit \
          -framework LayerKit \
          -framework CoreGraphics \
          -framework GraphicsServices \
          -framework CoreSurface \
          -lobjc
 
all:	$(TARGET)
 
Hello:	$(TARGET).o
	$(LD) $(LDFLAGS) -o $@ $^
 
%.o:	%.m
		$(CC) -c $(CFLAGS) $(CPPFLAGS) $< -o $@
 
clean:
		rm -f *.o $(TARGET)
 

3) hello.c と Makefile を cygwin でアクセス可能な適当なディレクトリへコピーする。
例えば /iphone-apps/hello というフォルダを作成してコピーする。cygwin のルートは Windows パスでは C:\cygwin なので、/iphone-apps/hello は C:\cygwin\iphone-apps\hello を指す。

4) cygwin のシェルを開いて3のディレクトリへ移動する。
5) プログラムをビルドする。

$ make

エラーが出たら何かが間違っているということ。正常終了すれば hello という実行ファイルが作成されるはず。

6) WinSCP 等のSecure Copy クライアントを使って、5で作成した hello を iPhone の適当なディレクトリへコピーし、実行パーミッションを設定しておく。
例えば /temp/dreamhound ディレクトリを作成してコピーする。
iphone-winscp.jpg

7) TeraTerm +TTSSH 等の SSH クライアントを使って iPhone に接続し、6で hello をコピーしたディレクトリへ移動して hello を実行する。
printf で指定した文字列が正しく表示されていればOK。
iphone-teraterm.jpg

コマンドラインソフトの作成は簡単だった。次は iPhone の GUI を使ったアプリの作成に挑戦してみよう。

2008年07月14日

オープンソースの iPhone アプリ開発環境を試す (3)

winChain を使って iPhone の GUI アプリを作成してみる。winChain には winChain Template Builder.exe というソースコードのテンプレートを作成してくれるアプリが同梱されているのでコレを使おう。

1) winChain Template Builder.exe を起動する。
templatebuilder1.jpg

2) 必要な項目を指定して[Create Template]ボタンをクリックする。
templatebuilder2.jpg
テンプレートが作成されると以下のメッセージが表示される。
templatebuilder3.jpg
[OK]ボタンを押してメッセージを閉じ、[X]アイコンをクリックしてソフトを終了する。

指定したディレクトリにプロジェクト名のサブディレクトリが作成されて、その中にテンプレートのファイル群が作成されると思いきや、実際にはプロジェクト名のサブディレクトリは作成されず、指定ディレクトリ直下にテンプレートのファイル群が作成される。これで合っているのかなと思ってビルドしてみると、Makefile 中で指定されているファイルのパスと実際のファイルの所在が一致していないためにビルドはコケる。どうやら winChain Template Builder のバグっぽい。

3) プロジェクト名のサブディレクトリを作成して、そこへテンプレートのファイル群を移動する。上の例だと C:\cygwin\iphone-apps にテンプレートのファイル群が作成されているので、helloapps サブディレクトリを作成してこれらのファイルを移動する。

デフォルトの Makefile のままビルドするとルートディレクトリ直下に helloapp.app というディレクトリが作成されてしまう。開発者の好みだと思うが、僕はプロジェクトにサブディレクトリを作って実行モジュールを格納したいので Makefile を変更しておこう。

4) Makefile 中に BUILT_PRODUCTS_DIR の定義を追加する。

INFOPLIST_FILE=Info.plist
SOURCES=\
	main.m \
	helloapp.m
 
CC=/usr/local/bin/arm-apple-darwin-gcc
CFLAGS=-g -O2 -Wall
LD=$(CC)
LDFLAGS=-lobjc -framework CoreFoundation -framework Foundation -framework UIKit -framework LayerKit
PRODUCT_NAME=helloapp
SRCROOT=/iphone-apps/helloapp
BUILT_PRODUCTS_DIR=$(SRCROOT)  ←追加
 
WRAPPER_NAME=$(PRODUCT_NAME).app
(以下省略)

5) cygwin のシェルを開いてプロジェクトのディレクトリ(/iphone-apps/helloapp)へ移動し、ソフトをビルドする。

$ make

ビルドに成功すると helloapp.app サブディレクトリが作成され、実行モジュール(helloapp)と Info.plist が格納されているはず。

6) iPhone の /Applications ディレクトリへ helloapp.app フォルダ丸ごとコピーする。

7) アプリアイコンを追加するために iPhone のメイン画面を強制リフレッシュする方法がわからないので iPhone を再起動する。
再起動後はメイン画面に helloapp アイコンが追加されているはず。

8) helloapp アプリを実行する。
テンプレートのまま何も処理を追加していないので何もしないけど。

なんとか GUI アプリも作成することができた。凝ったアプリを作るならば iPhone SDK に勝る環境は無いだろうけど、簡単なコマンドラインソフトを書くとか、ニーズによってはオープンソースの開発環境の方が役立つこともあるかもしれない。winChain はいかんせん完成度が低い(バグもあるし)のが残念だけど、やる気になれば Mac を持っていない人でも iPhone アプリが開発できるのは魅力かも。というか、Apple が Windows 版 iPhone SDK をリリースしてくれるといいんだけどな。

2008年08月20日

Cygwin のアンインストール方法を調べる

Cygwin は Windows 上で動作する Unix ライクなシェル環境。インストールしておくとちょっとした作業で役立つことも多い。先日のエントリで書いたオープンソースの iPhone アプリ開発環境である winChain でも Cygwin を使っていたっけね。だけどこの Cygwin、インストーラは付属しているのにアンインストーラは存在しない。

アンインストールの手順は、公式サイトの FAQ ページに記されている。

Cygwin FAQ
How do I uninstall all of Cygwin?

他にも、Google で Cygwin アンインストール で検索すると、その手順を解説したサイトが沢山ヒットする。
上記ページの日本語訳も存在した。

Cygwin について頻繁に尋ねられる質問と回答
2.2.11 どのようにして Cygwin の全てをアンインストールすればよいのでしょう?

図入りで手順を説明した以下ページもわかりやすい。
Cygwin のアンインストール

当面 Cygwin をアンインストールすることは無いだろうけど、とりあえず覚書として記しておく。

About iPhone & iPod Touch

ブログ「dreamhound」のカテゴリ「iPhone & iPod Touch」に投稿されたすべてのエントリのアーカイブのページです。新しい順番に並んでいます。

他にも多くのエントリがあります。メインページアーカイブページも見てください。

Powered by
Movable Type