iOSやらXcodeやらがペケ化している件
Xcodeが4になったのは、少し前の話。
だが、「インターフェース一新!」のあおり文句があまりにも胡散臭かったので、しばらくはXcode3で頑張っていたんだが。
諸般の事情により、とうとうXcode4に手を出す羽目に。
が。
案の定、バグだらけ (--;;; 。たしか、Xcode2に移行したばかりの時も、こんな感じだったような。
4.0.2のバージョンになって、この安定性のなさは、さすがに頂けない。
しかも、メニューやらが一新されてしまったせいで、それまでしていた作業と同じことをするのに一苦労。
特に悩んだのが、フレームワークの追加。
フレームワーク追加なんて、どのアプリを作るにしたって普通にやる作業な訳だし。
Xcode3なら、右クリックのメニュー一発で追加できていたのに、それができなくなっている。
さんざん探し回った結果、
- Navigator (ウインドウ左側のカラム)で、Project Navigator (フォルダアイコン)を選択。
- 中央左のViewで、Targetsにあるアプリアイコンを選択。
- 中央のViewで、Build Phases を選択。
- 3で選んだ表示の下に並んでいる項目のうち、Link Binary With Libraries を開く。
- ずらずら並んだリストの下にある「+」マークを押す。
・・・で、ようやく追加できることがわかった。
って、アプリ制作でほぼ必須となる作業項目が、何でこんな回りくどくなっているんだ。
なんていうか、まったくもってAppleらしからぬUIというか操作性だよな、これ。
どう考えても、インターフェース改悪したとしか思えない。
そして、iOSでさらに落とし穴。4.3.3で、過去に作ったアプリが動かなくなったことが発覚。
おかしいな、と原因を探ってみると、なんと MainWindow.nib のロードに失敗している。
実際に存在するファイルを「見つかりません」などと言い出す始末。
で、こちらも原因を探っていって見ると、Info.plist の Localizations で指定した内容と、Xcode で使用していたローカライズフォルダ名が食い違っているためであることがわかった。
ローカライズフォルダについては、Xcode2 あたりではデフォルトで作成されていた English.lproj とか Japanese.lproj を使っていたのだが。
Info.plist の Localizations については、マルチ言語対応の対処で en とか ja とかを使用したのだ。
これ、本来なら、OS側で実行時に 'en' = 'English' 、等の対応を取ってしかるべきもので、実際、過去のiOSバージョンでは、そのように動作している。
が。
iOS4.3.3では、これが、ショボーンな対応されているわけで。
つまり、Xcodeのローカライズフォルダ名も、Info.plist にあわせて en.lproj とかにしておかないと、アプリが自爆するらしい。
なんじゃそりゃ。
ここのフォルダ名を変更するのは、結構面倒くさいのですよ。
しかも、SVN とか使っていると、手間が二倍。
過去に自分(Apple)で「こうしろ」としておいたものを、なぜに変えるかな。
もうちょっと変更内容にポリシーもってほしいもんだ。
・・・って、最近のバージョンアップ製品、こんな内容ばかりだな。情けないやら、悲しいやら。