1

ここにいるのは初めてですが、本物の問題があります。SDK4 を使用して開発された iPhone アプリがあります。Apple が新しい iOS バージョン 6 を導入しましたが、バージョン 6 と互換性を持たせるために新しい SDK でコードを再コンパイルする必要がありますか?

現在、iOS6 でクラッシュします。また、Apple が新しいバージョンを出すたびにそれを行う必要がありますか? 地球上の他のすべてのアプリがすでにそれを行っているのだろうか?!

4

4 に答える 4

1

時々あなたも必要ありません。ほとんどの場合、Appleはライブラリのアップデートを公開しているため、古いコードに互換性がなくなることがあります。再コンパイルする必要があります。そうしないと、問題が発生します。

たとえば、iOS 5で動作するアプリがありました。iOS6のアップデートでは、アプリがSIGABRTでクラッシュしたため、新しいコードを参照する必要がありました。iOS 6以前は、正常に機能していました。Xcodeのデバッガーを使用すると、ほとんどの場合、問題を見つけるのは大変な作業ではありません。

于 2012-10-19T22:13:00.680 に答える
1

iOS の主要なアップグレードの問題は、メソッドの非推奨です。コードの一部が、iOS6 でサポートされていないメソッドに依存している可能性があります。これが発生した場合は、最初に API の変更を確認してから、最新の API で再コンパイルする必要があります。コードベースが iOS6 で正常に動作する場合は、再コンパイルする必要はありませんが、残念ながらそうではないようです。

于 2012-10-19T22:07:01.163 に答える
0

ほとんどの場合、クラッシュは、私が気付いていなかったアプリケーションの既存のバグが原因で発生することがわかりました。微妙な変化がそれを明らかにしました。再コンパイルだけの問題ではなく、そのバグの修正の問題になることはめったにありません。

再コンパイルするだけでも危険です。Appleは、アプリがコンパイルされた開発ツールのバージョンを検出でき(実際に)、アプリの実行を維持する動作を維持します。更新すると、代わりに新しい動作が得られます。

于 2012-10-19T22:19:25.590 に答える
0

IOS6 のためだけに再コンパイルする必要はありませんでした。彼らはうまくいきました。しかし、4 インチの iPhone 5 画面に合わせて調整する必要がありました。

于 2012-10-19T22:59:45.810 に答える