iPhoneアプリをLinuxで作成するの法

iPhone Developer Program の申請が全然通らないので、勝手アプリの作成環境を整えてみた。

Cydia でおなじみの saurik 氏がクロスコンパイル環境の作り方を以下のページに書いてくれていて、基本これに従えばOK。

Upgrading the iPhone Toolchain - Jay Freeman (saurik)

すごいなー。saurik++

簡単に環境作れるようにスクリプトにまとめた。ヘッダのコピーのとことかちょっと追加してある。

http://gist.github.com/15487

簡単に説明。

iPhone のファームウェアのファイルを、ごにょごにょ(ググればすぐわかる)して展開して ~/tmp/iphone/iPhone2.1 にコピー。

iPhone SDKをダウンロードしてきて展開して MacOSX10.5.pkgiPhoneSDKHeadersAndLibs.pkg~/tmp/iphone/Developer に展開。

http://www.opensource.apple.com/darwinsource/Current/ から

  • CF-*
  • DiskArbitration-*
  • IOCDStorageFamily-*
  • IODVDStorageFamily-*
  • IOGraphics-*
  • IOHIDFamily-*
  • IOKitUser-*
  • IOStorageFamily-*
  • Libc-*
  • WebCore-*
  • cctools-*
  • configd-*
  • launchd-*
  • libsecurity_authorization-*
  • libsecurity_cdsa_client-*
  • libsecurity_cdsa_utilities-*
  • libsecurity_cms-*
  • libsecurity_codesigning-*
  • libsecurity_cssm-*
  • libsecurity_keychain-*
  • libsecurity_mds-*
  • libsecurity_ssl-*
  • libsecurity_utilities-*
  • libsecurityd-*
  • xnu-*

をダウンロードして ~/tmp/iphone/apple に展開。(*はバージョン番号)

で、あとは上のスクリプト実行すれば ~/app/toolchain にクロスコンパイル環境がインストールされる。YATTA!

ちなみに僕の Debian 環境ではこの作業をするために

flex bison gcc-multilib gobjc

などのパッケージを追加でインストールする必要があった。

これで iPhone 用のバイナリが作れるようになる。あとは ssh なり何なりで iPhone にファイルを転送すればOK。

ただ iPhone は署名済みなアプリケーションしか実行できないのでそこもまた saurik 氏の記事

Bypassing iPhone Code Signatures - Jay Freeman (saurik)

を参考にすれば回避できる。

by typester / at 2008-10-08T17:33:00 / iphone · linux / Comment

OSXの.dmgファイルをLinuxでごにょるの法

dmg2img というのがよくできてる。

dmg2img xcode.dmg xcode.img

とすると xcode.img という HFS+ のイメージファイルにしてくれる。

で、

mount -t hfsplus -o loop xcode.img /mnt

とかでマウントできる。

その中のpkgファイルの中身を取り出すには

xar -xf /mnt/Packages/MacOSX10.5.pkg Payload
mv Payload Payload.gz
gunzip Payload.gz
mkdir dump
cd dump
cat ../Payload | cpio -i -d

とかするとdumpディレクトリ以下にpkgが展開されるという感じ。

by typester / at 2008-10-01T11:42:00 / linux · osx / Comment

lv の alt screen

lv 便利なんだけど、alternate screen で動作するのがちょっとなぁ。

終了すると今まで表示してたの消えちゃうのが嫌。これってなんか制限できないのかなー。オプションみても特にないようだ。

by typester / at 2007-08-17T11:39:00 / linux / Comment

ps の日付パース

ps の出力をパースしたかったんだけど、日付部分めんどいなと思いきや Date::Manip 使ったら一発だった。覚えててよかった!

30boxes.pl とかで使われてるやつ。

by typester / at 2007-07-17T17:14:00 / perl · linux / Comment

mutt と irssi

なんか似てるよね。

mutt 使いは irssi も気に入る説。

by typester / at 2007-04-16T05:09:00 / linux / Comment

colinuxの利点

cofsもあった。

VMWare Server だと vmware-tools についてるファイル共有のカーネルモジュールをインストールすれば共有できるはずだけど、Debianではコンパイルできなかった。

by typester / at 2007-03-16T16:56:00 / linux / Comment

colinux とかまだつかってるの

これみて、

デスクトップ百景

そう思った。いまは VMWare Server の時代!!

僕が思う colinux のほうが優れているところはその PC に ext3 領域とかあってそれを colinux から使いたいとかそういう場合があるときのみ。

それ以外はすべてにおいて VMWare Server のほうが優れていると思う。あ、パフォーマンスは分からない。

VMWare Server のほうが特に優れているところは以下。

仮想マシンをサスペンドできる

ので、Windows Update とかきて PC を再起せざるを得ない状況になったらおもむろに仮想PCをサスペンド。PC再起動。

再起後何事もなかったかのように作業続行可能。

使った分だけディスク消費

最初から確保する必要ナシング。

ネットワーク設定が豊富

colinux は VMWare でいうところの NAT か Host only というネットワーク設定で使うしかない(と思う)のだけど、VMware Serverはそれプラス Bridged モードというのがあり、VMWare の仮想ネットワークアダプタが直接ネットにつないでるかのように設定できる。

ゲストOSがDHCPでIPとったら、自分のPCからもLAN内のほかのPCからもそのIPでアクセスできるって感じ。hamachi もうごくよ。

後オレは使ってないんだけど、USBつかえたりとかもするっぽい。

などなど、なんでまだ colinux? って感じだ。

by typester / at 2007-03-16T16:32:00 / linux / Comment

64bit Debian で 32bit アプリを動かすの法

$ sudo aptitude install ia32-libs

hamachi がうごかんくてあせったわー。

by typester / at 2007-02-17T01:42:00 / linux · debian / Comment

undefined symbol: FT_GlyphSlot_Embolden

ものすごーくひさしぶりに Gimp を使おうとしたら

gimp: symbol lookup error: /usr/lib/libcairo.so.2: undefined symbol: FT_GlyphSlot_Embolden

とか言うエラーで起動しやがらねぇ@ubuntu breezy

ぐぐったら

[debian-users:45959] Re: etchでKDEが起動しくなった

libxft2が中途半端な状態でtesting行きになったために同様の問題多数で阿鼻叫喚になっていますね (http://bugs.debian.org/cgi-bin/pkgreport.cgi?pkg=libxft2)。

libfreetype6をunstableから持ってくることで当面は解決できるようです。

とかが最初にきた。あらまぁ。utunbuもかよ。

apt-line に dapper のやつ追加して

sudo aptitude install libfreetype6 -t dapper

したら起動するようになった。

by typester / at 2006-06-18T16:42:00 / life · linux / Comment

CMS researcher - zsh: 直前にうったコマンドをクリップボードに(Mac OS X限定)

tail -n 1 ~/.zhistory | perl -pe 's/.*?;//' | xclip

かな。Linuxだと。

そういえばおなじようなネタで screen と X のコピペを同期するとか言うのあった気がするなぁ。

by typester / at 2006-05-07T18:15:00 / linux / Comment

« Prev 1 2

(Page 1 of 2)