1

私はいくつかの iOS 6 機能を既存のアプリに追加しています。具体的には、組み込みの Facebook 統合です。ただし、iOS 4.3 との下位互換性を維持するためにアプリが必要です。

ほとんどのコードでは、respondsToSelector; を使用してこれを処理する方法を理解しています。また、利用可能な場合にのみロードされるように、ソーシャル フレームワークとアカウント フレームワークを弱くリンクすることも理解しています。

しかし、私が知らないのはこれです: Facebook の統合を有効にするには、私のアプリのすべての共有を処理する "ShareViewController" にプロパティを追加して、構成シートを保持する必要があります。 :

SLComposeViewController *mySLComposerSheet;

ただし、SLComposeViewController は iOS6 だけに存在するクラスです。基本的に、ユーザーが iOS 6 を実行している場合にのみ、そのプロパティが存在する必要があります。

この種の状況をどのように処理しますか?

4

2 に答える 2

0

NSClassFromStringとを使用することをお勧めします[UIDevice isSystemVersionHigherOrEqualTo:@"6.0"]

于 2012-09-24T19:31:03.093 に答える
0

それはうまくいくでしょう。クラス名を参照するプロパティ/ivar にはいくつかのメタデータがありますが、実際にはクラスに対してリンクしたり、実行時にエラーを引き起こしたりしません。

もちろん、常にテストしてください!

于 2012-09-24T23:25:05.893 に答える