0

私は維持している古いアプリを持っています。アプリは最初にXCode4.2でコンパイルされました。動作するのとまったく同じプロジェクトをXCode4.6で見つけてコンパイルすると、ViewControllerが更新されない、Backが正常に動作しないなどの奇妙なバグが発生します。同じプロジェクトを他のマシンのxcode4.2で再コンパイルすると、すべて正常に動作します。私がコードを掘り下げる前に、誰かが私にこのようなことが起こるかもしれない理由を教えてもらえますか?私の主な容疑者は、各XcodeのベースSDKです。それは理にかなっていますか?

4

1 に答える 1

1

4.2と4.6の間に違いがあるかどうかはわかりませんが、歴史的に、デバイス上のiOSフレームワーク(および程度は低いですがシミュレーター)、アプリケーションがコンパイルされたSDKのバージョンに応じてわずかに適応しますに対して。あなたはそれを除外することはできません。

古典的な(今では古代ですが)例は背景です。古いSDKに対して構築されたアプリは、新しい動作を取得するのではなく、ホームボタンを押すと終了しました。最近の(しかし微妙な)例には、テーブルビューへのいくつかの変更とデバイスの回転への変更が含まれています。

新しいコンパイラを使用して、古いSDKでビルドを試みないでください。Appleはそのような構成をサポートしていません。常に最新のSDKを使用する必要があります。そして、とにかく、これらの問題が存在しないふりをしたくないでしょう。バグは本物であり、以前は隠されていました。

古いバージョンのiOSが機能し続けるような方法でこれらのバグを修正できない可能性はほとんどありません(ただし、古いOSでは修正する価値がないと判断したワームの缶が開くことに気付くかもしれません)。

于 2013-02-25T18:11:52.677 に答える