この iOS 5.1.1 は「ソーシャル」フレームワークをサポートしていないため、私のアプリはエラー メッセージを受け取り、iOS 5.1 シミュレーターでクラッシュします。
これを解決して iOS 6 より前のバージョンで使用する方法はありますか?
この iOS 5.1.1 は「ソーシャル」フレームワークをサポートしていないため、私のアプリはエラー メッセージを受け取り、iOS 5.1 シミュレーターでクラッシュします。
これを解決して iOS 6 より前のバージョンで使用する方法はありますか?
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 にある場合、コードはそれを検出せず、機能が存在しないと誤って想定します。これをしないでください。上で概説したテクニックを使用してください。