以前作ったEspresso APIを使ったアプリケーションがあって、それに問題が見つかって、修正する必要が生じたのだった。このアプリケーションはPantherとTigerを動作環境としているが、このアプリケーションはMac OS X 10.4.9(Tiger)+Xcode 2.4.1+OpenBase Espresso APIを使って開発をしたものだった。
それで動作確認をするための環境としてPantherにOpenBaseをインストールする必要が生じたのだった。
ところが、開発環境のほうも問題だった。たまたま必要があって、この開発を行っていたPowerBookの環境をつぶして、Leopardをインストールしたばかりだったのだ。そしてこのMac OS X 10.5.1(Leopard)+Xcode 3.0+OpenBase Espresso APIという環境で、アプリケーションを修正してビルドした所、また別の問題が起こった。
Leopardでビルドしたアプリケーションは、Panther上では実行できない。OpenBaseに接続する時に、[NetConnection forceEncryption:]がないと言われてしまいます。
Leopard上で実行しようとしても、DBEntityの
+(NSMutableArray*)recordsForRelationship:relatedToRecord:recordForClassName:connection:
が返しているオブジェクトが
recordForClassNameで指定したクラスインスタンスではなくDBRecordのインスタンスになっているみたいだ。
なんだか、Leopard上の開発はまだ不安定なようだ。いったん撤退してPantherでの開発環境を再構築する必要がありそう。
ちなみに、他にもTigerの開発環境はあるのだが、昔から開発を継続しているアプリケーション用に使っていて、Mac OS X 10.4.11 + Xcode 2.0なのだ。Xcodeは2.0から2.1でプロジェクトファイルのフォーマットが変わったはずなので、この環境を変えるのはやりたくない。