1

この iOS 5.1.1 は「ソーシャル」フレームワークをサポートしていないため、私のアプリはエラー メッセージを受け取り、iOS 5.1 シミュレーターでクラッシュします。

これを解決して iOS 6 より前のバージョンで使用する方法はありますか?

4

1 に答える 1

7

Social Framework は iOS 6 のみの機能です。iOS 6.0 より前のデバイスでは動作しません。2 つのオプションがあります。アプリが新しい場合は、iOS 6 以降を要求できます。

アプリがしばらく公開されていて、iOS 6 より前のバージョンをサポートする必要がある場合は、実行時に次のような方法でフレームワークの存在をテストできます。

if(NSClassFromString(@"SLComposeViewController") != nil) {
    // The social Framework exists
else
    // Social Framework does NOT exist.

以下のコメントへの返信:
バージョン番号を使用して機能の存在を確認することは、不適切な設計と見なされます。推奨されるアプローチは、機能自体の存在を確認することです。

コメントで言及したコードは、バージョンではなく機能をテストする理由の完璧な例です。@"5.1.1" の floatValue は 5.1 であり、かつ @"5.1.2" の floatValue も 5.1 です。探している機能が 5.1.1 ではなく 5.1.2 にある場合、コードはそれを検出せず、機能が存在しないと誤って想定します。これをしないでください。上で概説したテクニックを使用してください。

于 2012-10-06T21:58:46.193 に答える