1

我正在向现有应用程序添加一些 iOS 6 功能——特别是内置的 facebook 集成。但是,我需要我的应用程序保持与 iOS 4.3 的向后兼容性。

在大多数代码中,我了解如何使用 respondsToSelector 来处理这个问题;我也理解弱链接社交和帐户框架,因此只有在可用时才会加载它们。

不过,我不知道的是:为了启用 Facebook 集成,我需要向我的“ShareViewController”添加一个属性——它处理我的应用程序的所有共享——以保存组合表,即:

SLComposeViewController *mySLComposerSheet;

但是,SLComposeViewController 是一个只存在于 iOS6 中的类。所以本质上,我只需要在用户运行 iOS 6 时才存在该属性。

如何处理这种情况?

4

2 回答 2

0

我建议你使用NSClassFromStringand [UIDevice isSystemVersionHigherOrEqualTo:@"6.0"]

于 2012-09-24T19:31:03.093 回答
0

它会起作用的。属性/ivar 中有一些引用类名的元数据,但它实际上并没有链接到类或在运行时导致错误。

当然,总是测试!

于 2012-09-24T23:25:05.893 回答