尝试在ios 5.1.1上使用Social.framework会导致我的应用程序崩溃

时间:2012-10-06 21:51:11

标签: ios frameworks crash

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

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

1 个答案:

答案 0 :(得分:7)

社交框架是仅限iOS 6的功能。它不适用于运行iOS 6.0之前的设备。你有两个选择。如果您的应用是新的,则可以要求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但IS在5.1.2中,您的代码将不会检测到它并错误地认为该功能不存在。不要这样做。使用我上面概述的技术。