以前のバージョンとの互換性を維持しながらiPhone 3.0機能を使用する最良の方法は何ですか?

StackOverflow https://stackoverflow.com/questions/1034348

  •  06-07-2019
  •  | 
  •  

質問

たとえば、iPhoneでオーディオを録音できる独自のクラスを作成したとします。 iPhone OS 3.0は、Cocoa Touch Frameworkの一部としてその機能を提供するようになりました。

既存のクラスを使用してiPhone OSバージョン2.2.1以前をサポートすると同時に、Cocoa Touch Frameworkが提供する新しいクラスを利用してiPhone OS 3.0をサポートするにはどうすればよいですか

役に立ちましたか?

解決

Objective-Cは非常に動的な言語であるため、2.xをターゲットにして3.0の機能の存在を照会できます。

id pasteboard = [objc_getClass("UIPasteboard") generalPasteboard];
if (pasteboard) {
    NSLog(@"Got pasteboard, we're clearly on 3.0+");
} else {
    NSLog(@"Pasteboard not available, definitely 2.x");
}

他のヒント

iPhoneプラットフォームは、あらゆるモバイルOSの中で最高のアップグレード率を持っているため、下位互換性について心配することはありません。 OS 3.0 APIに移行して、アプリで他の優れた機能を実行することに集中してください。

ユーザーがアプリを望んでいて、2.2.1を使用している場合-アップグレードするだけです-iPhone OSもアップグレードが最も簡単なOSです。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top