2011年1月11日火曜日

Xcodeで困る

結論書きます:

 1。 ちゃんと$99払った方が楽だ(笑)
 2。 脱獄なんかしない方がもっと楽だ(笑)
 3。 ジョブズに逆らうな(泣)


追記’

 あんまり敗北宣言するのも恥ずかしいので取り敢えず
コンパイルと無理矢理のデプロイにこぎ着けた事は書く。
Xcodeが手に入っただけでは3つの問題がある。

 署名しようがない。
 署名するにもそのための証明書が無い。
 証明書なしではデバイスプロビジョニングは自動化されない

root権限でファイルアクセスできるJB済みのiDeviceなら最後の
関門はサードパーティのツールで抜けられる。

 問題は電子署名済みの証明書である。
本来ならば、Appleから認められたデベロッパメンバとしての
署名を買う事になる。 勿論公的に配布可能なアプリケーションを
作るならAppStoreに陳列される必要があり、Appleの厳しい検査に
合格したアプリケーションとしてのお墨付きをもらうのが正しい。

 だが、私的かつ実験を繰り返すレベルでは不要だと思う。
配布も限られた間で行うのであれば、自己署名で問題は無い。

そもそもコードの電子署名は誰が作って誰が許可したかを明確にする為に
あるので、作成者が分からないものを使わせないための仕組みとして
まじめにApple社が取り組んだ成果であると考え評価しても良い。この辺り
業界で先んじて行ったと思われるマイクロソフトは実にいい加減な態
度で臨んでいたので、当時はあまり電子署名付きプログラムであるかない
かを認識することはなかった。むろん最近ではちゃんとコントロールできているが、
Windows2000の時代にはほとんど無理だった。 つまり配布プログラムの
バージョンコントロールを徹底する事は物理的に出来無かった。当時の流通量と
署名識別のための認証局アクセスコストは今より遥かに高かったからだ。

Xcodeで作られるバイナリファイルに電子署名するにあたり、MacOSXには、
キーチェーンアプリケーションが付属しているからこれで署名した電子証明書を
発行することにする。自己発行証明書は、問題があるとされながらも、一切の
権威付けが行われてないというだけで、暗号生成/復号に役には立つ。否認防止も
出来ないから、まさにオレオレ証明書である。

まず、自己発行電子証明書を「コード署名」目的で作成する。名前は適当でよい。
そして「ログイン」キーチェーンに加えておく。

Xcode側で、この証明書を識別するように設定する。
また、自己発行証明書を用いるように細工もする。

ここににある手順を行えば、コンパイルまでは出来る。

デプロイは、iPhoneExplorerなどで行うといいだろう。 もしプロジェクト名が
hogehogeなら hogehoge.appという梱包済みファイルを選んで、
/Applications/ 下に配置して、

ldid -S /Applications/hogahoge.app/hogehoge

などとする。

0 件のコメント: