1

これは正確にはどういう意味ですか?可用性:iOS(6.0以降)およびその他のバージョン番号を見てきましたが、それが正確に意味するものではないと思います。それは本当にiOS6以降でのみ利用可能であることを意味しますか?その場合、iOS 2.0f以降の同等の方法が減価償却されるのはなぜですか?iOSのバージョンが6.0または指定された可用性よりも低い場合でも、それを使用するべきではありませんか?

例はNSTextAlignmentCenterです。可用性:iOS(6.0以降)であると指定されていますが、iOS4.3以降用のアプリを作成しています。現在、iOSバージョンのデバイスでチェックを実行しており、NSTextAlignmentCenterとUITextAlignmentCenterの間のテキスト配置を選択しています。私には、これは奇妙に思えます。iOS 6.0以降ではなく、iOS SDK 6.0以降を対象にすべきではありませんか?

私はこれがつまらないように見えることを知っていますが、それはかなり大きな違いを生みます。

4

4 に答える 4

3

可用性:iOS(6.0以降)およびその他のバージョン番号を見てきましたが、それが正確に意味するものではないと思います。それは本当にiOS6以降でのみ利用可能であることを意味しますか?

はい、それは本当にiOS6以降でのみ利用可能であることを意味します。

アプリにリンクするAppleが提供するフレームワークのほとんどは動的です。これらはアプリに組み込まれていませんが、アプリの起動時にリンクされます。これらは、オペレーティングシステムの一部としてデバイスに存在します。つまり、新しいメソッドを追加するなどの遡及的な変更を行うことは、困難と不可能の間のどこかにあります。セキュリティ修正などの重要な変更は、通常、OSのマイナーアップデートで行われます。APIの機能変更は通常、より重要なアップグレードのために予約されています。

一部の変更は遡及的に発生します。たとえば、オブジェクトリテラルはiOS 6だけでなく、5でも(私は思うに)4でも機能します。これは、オブジェクトリテラルの場合、変更がオペレーティングシステムやフレームワークではなく、コンパイラで行われるためです。オブジェクトリテラル構文を理解するコンパイラを使用している限り、コンパイラが出力するオブジェクトコードは古いシステムと互換性があります。

于 2012-09-13T22:17:48.330 に答える
1

これは、このxxOSバージョンから使用できることを意味します。

これについては、次のように考えてください。APIを含む各機能には、それが生まれた初期バージョン(xx)があります。それはしばらくの間(いくつかのバージョンを通して)存続し、ある時点で古くなり(新機能は同じことを行うことができますが、より良いです)、非推奨としてマークされます。まだ使用できますが、もうお勧めしません。そして、ある時点で、この機能/ APIは停止します(サポートされなくなります)。

したがって、iOS 4.3以降をサポートする予定の場合は、iOS 4.3から6.0で機能する機能を選択する必要があります(すでに生まれていますが、まだ機能していません)。

于 2012-09-13T22:04:03.217 に答える
1

それはそれが言うことを意味します。「2.0以降」と表示されている場合は、SDK2.0以降を対象とするすべてのアプリで安全に使用できます。

于 2012-09-13T21:59:27.943 に答える
0

SDKバージョンではなく、iOSバージョンです。iOSのすべてのバージョンには、サポートする新しいAPIが追加されているため、そのバージョンに存在しないAPI(NSTextAlignmentCenterなど)を使用することはできません。

于 2012-09-13T22:12:45.477 に答える