1

我的应用程序在 iOS 5.1 模拟器上收到错误消息并崩溃,因为此 iOS 5.1.1 不支持“社交”框架。

有没有办法解决这个问题并在 iOS 6 之前的版本上使用它?

4

1 回答 1

7

社交框架是 iOS 6 独有的功能。它不适用于运行早于 6.0 的 iOS 的设备。你有两个选择。如果您的 App 是新的,您可能需要 iOS 6 或更高版本。

如果您的应用程序已经存在一段时间并且您需要支持早于 6 的 iOS 版本,您可以在运行时测试框架是否存在,如下所示:

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 回答