3

iPhoneOS2.0用に設計された古いコードを扱っています。このコードには、iPhone3.0で非推奨になったいくつかの手順があります。

特にiPodTouchを使用している多くのお客様がまだ2.0を使用しているため、バージョンを変更するつもりはありません。指示を更新すると、更新の受信を続行できなくなります。

アプリケーションは2.0用にコンパイルされており、常にそのようになっています。

Appleの新しいバージョンを提出しました。ここでは、いくつかのバグが修正され、新しい機能が追加されました。私はいつもこのアプリをアップルに送ってきましたが、彼らは文句を言うことはありませんでした。今、彼らはアプリケーションを拒否し、OS3.1.3でクラッシュしていると言っていました。

私は彼らの指示に従いましたが、クラッシュは見られず、「非推奨」関数を使用するコードの一部は3.1.3で完全に機能します。

3.1.3のプロジェクトをコンパイルすると、Xcodeに黄色の警告が表示され、3.1.3で1つの命令が非推奨になったことを通知します。

大きな問題は、この命令は3.1.3で機能し、この警告を無視する必要があるかどうかです。これによりiPhoneがクラッシュする可能性がありますか?

私の考えでは、iPhone OSのすべての新しいバージョンは古いバージョンとの互換性を維持しているので、私が思うに、2.0用にコンパイルされたアプリケーションはすべて3.1.3以降のすべてのバージョンで実行されます。

ご覧のとおり、これを3.1.3でテストしましたが、アプリケーションは完全に機能します。

どうしてそれができるのでしょうか?何か案は?

助けてくれてありがとう。

4

1 に答える 1

2

非推奨の呼び出しは、非推奨になったOSリリースで機能するように設計されていますが、一部の(未定義の)将来のOSでは機能しなくなります。非推奨は開発者への警告です:ねえ、あなたはあなたのコードを変更するべきです、これは将来壊れます。これは、全員を壊すことなくAPIベースを更新する方法です。

要約すると、これらの呼び出しを今すぐ使用できますが、2.xの操作性を捨てる場合は、コードを編集する必要があります。

于 2010-03-05T01:58:07.957 に答える