SpringBoard 上のアプリアイコンの右上に数字を表示
iphone の SMS やメールの未読数とかに使われている機能。
UIApplication の - (void)updateBadge; を継承してこんな感じ。
- (void)updateBadge { [ self setApplicationBadge: @"1" ]; }
まだObjective-Cがよくわからんなぁ。なんとなくでプログラミング中。
iphone/ipod touch toolchain その後
http://code.google.com/p/iphone-dev/wiki/Building のとこが更新されてた。手順通りやったら、Debian testing でもちゃんとコンパイルできた(・∀・)
UIKit をいろいろ触ってるけども、ドキュメントがまとまってないから、よくわからない・・・。
他の人が作っているものを参考に地道にやるかー。
手順
svnからそのままとってくると LLVM と iphone-dev の整合性がとれないので注意。
- LLVM をとってくる
$ svn co http://llvm.org/svn/llvm-project/llvm/trunk llvm-svn -r 42286 $ pushd llvm-svn $ ./configure --enable-optimized $ make ENABLE_OPTIMIZED=1 $ sudo make install $ export LLVMOBJDIR=`pwd` $ popd
- iphone-dev をとってくる
$ svn checkout http://iphone-dev.googlecode.com/svn/trunk/ iphone-dev -r 198 $ pushd iphone-dev
- toolchain 用のディレクトリ作成
$ sudo mkdir /usr/local/arm-apple-darwin
- odcctools を作成
$ mkdir -p build/odcctools $ pushd build/odcctools $ ../../odcctools/configure --target=arm-apple-darwin --disable-ld64 $ make $ sudo make install $ popd
- iphone のファイルイメージを指定
$ export HEAVENLY=/usr/local/share/iphone-filesystem
ipod touch から / 以下のファイルを全て抜き出して保存しておいて、その場所を指定。
- OSX の include ファイルを指定
$ pushd include $ ./configure --with-macosx-sdk=/usr/local/share/MacOSX10.4-Universal-SDK/Developer/SDKs/MacOSX10.4u.sdk $ sudo bash install-headers.sh $ popd
こちらも別途 OSX から SDK を抜き出し、その場所を configure のところで指定。
- csu を作成
$ mkdir -p build/csu $ pushd build/csu $ ../../csu/configure --target=arm-apple-darwin $ sudo make install $ popd
$ mkdir -p build/llvm-gcc-4.0-iphone $ pushd build/llvm-gcc-4.0-iphone $ ../../llvm-gcc-4.0-iphone/configure --enable-llvm=`llvm-config --obj-root` \ --enable-languages=c,c++,objc,obj-c++ --target=arm-apple-darwin --enable-sjlj-exceptions \ --with-heavenly=$HEAVENLY --with-as=/usr/local/bin/arm-apple-darwin-as \ --with-ld=/usr/local/bin/arm-apple-darwin-ld $ make LLVM_VERSION_INFO=2.0-svn-iphone-dev-0.3-svn $ sudo make install $ popd $ popd
とりあえず環境ができたところで終了。ちゃんと動くかしら・・・。
追記:ちゃんと HelloWorld 動いた。これでいろんなもの作れるなぁ。楽しみ楽しみ。
iphone/ipod touch toolchain
2.6.21.7 とGW-US54GXS
カーネルを 2.6.21.7 に更新。カーネル以外に更新するところは下の四つ。結構面倒。
- GV-MVP/RX2W( ivtv 0.10.5 + ぱ研 )
- I-O DATA GV-MC/RCkit( lirc 0.8.2 )
- GeForce 6150(NVIDIA-Linux-x86-100.14.11-pkg1.run)
- vmware(vmware-any-any-update113)
無線アクセスポイントもサーバにまとめようとGW-US54GXSを買ってくる。
http://www.cozmixng.org/~rwiki/?cmd=view;name=GW-US54GXS を参考にセットアップ。サイトは SourceForge に移っていたので、下のコマンドで svn のソースを取得。
# svn co https://zd1211.svn.sourceforge.net/svnroot/zd1211 zd1211
APの設定は上のサイトを参考に設定完了。AirMac Express より出力が弱いかな?あと大量にしたのメッセージがログに残ってるのが気になるなぁ。通信しているとたまに安定しないし・・・。svnを地道におっていくかな。
ZDAPIOCTL: copy_from_user error