2014年12月3日水曜日

Xcodeバージョンの切り替え時期で悩む

Xcode 6.1.1が正式に、App Storeに登録されましたね。少し前から、Appleの開発者向けサイトには何日も前からGMが登場していたので、正式版が出るのは時間の問題でした。

新しいバージョンの開発ツールが登場すると、開発しているマシンに入れる時期を毎回のように悩みます。皆さんは、どのように考えて判断しているのでしょうか。ちょっと知りたい気持ちです。私の場合の悩める思いを書いてみます。

 

Xcodeの現状は、開発環境として特別な状況です。swiftが登場したばかりですから、swift自体の安定性が良くなっているのか気になります。また、コンパイラーが使うswift用のAPI定義も、一部に間違っているものが見付かって、少しずつ修正されているでしょう。できるだけ新しいものを使いたい、との思いが強まります。

でも、新しいものだけに、大きく切り替わった時期というのは、大きなバグが出やすい時期でもあります。バグに遭遇して苦労したくない、つまり余計なことで開発を邪魔されたくない気持ちも大きいです。新しいものを使いたいけど、新しいものは危ないという、実に困った状況なのです。

 

私が現在使っているのは、Xcode 6.0.1です。まあまあ安定していて、大きなトラブルにも遭遇せず、開発を進められいています。開発が最近完了し、本番用としてビルドしたのも、現状のXcode 6.0.1でした。実機テストでも特に問題が発生しなかったので、安心してビルドすることができました。

並行して、Xcode 6.1も試しましたね。開発マシンとは別の実験用マシンにインストールして、開発マシンと同じプロジェクトをビルドしてみました。中身がかなり変わっているのでしょう。いろいろと問題が発生しました。

まず、ソースコードを編集中に、文法チェックしている処理が、何度も何度も異常終了しました。その度にメッセージが出て、文法チェックが止まります。こんな状態では、使っていても気分が悪いです。こんなに悪い状態なのに、よく公開したなと思いました。

さらに、6.0.1でコンパイルエラーが出なかったソースコードが、コンパイルエラーになります。Optionalの扱いが変わったというか、おそらくswift向けAPI定義が少し修正されたのでしょう。詳しく覚えていませんが、「!」を削除しなさいとか、「!」を追加しなさいとか、エラーと修正指示が何個も出ました。それは指示どおりに修正したら、問題なく動きました。

一番困ったのは、実機での原因不明な異常終了です。シミュレーター上では正常に動いているのですが、ビルド後に実機へ転送して動かすと、途中で異常終了します。その箇所のソースコードを調べても、問題がありそうには思えません。そもそも、Xcode 6.0.1では正常に動いているソースコードです。

動かない箇所をコメント化して、再び実機で動かすと、また別な箇所で異常終了します。3つめの異常終了が出た時点で、使うのをあきらめました。App Storeのコメントでも、さんざんの言われようでした。私も同感です。

 

私の場合、新しい開発ツールには真っ先に触りたいと思わないので、最新ツールには興味がありません。ただし、前述のようにXcodeの現状が特別な状態です。swift向けAPI定義の修正がされているバージョンだけに、使いたい気持ちは強くあります。だからこそ、悩ましいわけです。

通常の開発ツール選びでは、最新版を使いません。バージョンが大きく切り替わったとき、1つ前のバージョンの安定版を意識的に選びます。もしXcodeが相当前からswiftを採用していたら、おそらく5.xの最終版を使っていたと思います。でも、iOSの新バージョンに含まれる、ぜひとも使いたい機能が登場していた場合は、話が別です。仕方なく、最新版を使うでしょう。ただし、その場合でも、新しい機能を使うアプリ開発でだけ最新のXcodeを使い、他のアプリ開発では1つ前のバージョンのXcodeを使うでしょう。

 

で、Xcode 6.1.1です。通常のバージョンアップであれば、かなり安定しているのだろうと予測します。けれども、前の6.1が相当にひどかっただけに、試しに使うのも躊躇します。実機でだけトラブるのは、もう勘弁してほしいです。

とりあえずの判断としては、世間の評判を見定めて、評判が良いなら実験マシンにインストールしようと思います。既存の完成アプリをビルドしてみて、実機での動きが問題ないようなら、開発マシンにインストールする予定です。幸い、現在開発中のアプリはなく、切り替え時期としては最適ですから。

0 件のコメント:

コメントを投稿