2

显然,我对 Twitter oAuth(令牌请求)的使用在 iOS 5 中不起作用......我如何为 iOS 5 以下的任何内容保留此代码并使用适用于 iOS 5+ 的新 Twitter 框架?

是否可以检测 iOS 版本?

谢谢!

4

4 回答 4

6

您(几乎)永远不想查询 iOS(甚至框架)版本。这(通常)意味着您正在解决错误的问题。

在这种情况下,你真的很想知道“我可以使用 Twitter.framework 吗?”

由于弱链接的魔力,您可以尝试以下操作:

if ([TWTweetComposeViewController canSendTweet]) {
    // Do something
}
else {
    // Use your original code
}

您还可以检查较低级别的框架组件,例如:

if ([TWRequest class]) {
    // Do something
}
else {
    // Use your original code
}

(显然,您需要链接 Twitter.framework 并包含必要的标头。)

于 2012-04-04T08:21:23.630 回答
1
if([[[UIDevice currentDevice] systemVersion] floatValue] >= 5.0) {
   //tweet
}
于 2012-04-04T08:17:45.453 回答
1

首先,其他答案是正确的——您应该避免使用 iOS 版本号来检查功能是否存在。

但是:如果您确实有充分的理由检查 iOS 版本,我一直以来最喜欢的检查 iOS 版本号的答案就是这个 StackOverflow 答案。如此优雅。

于 2012-04-04T16:18:47.393 回答
0

检测 Twitter 类是否在已安装的操作系统中:

if (NSClassFromString(@"TWTweetComposeViewController")) {
   //use Twitter Framework
}

不要忘记在框架列表中将 Twitter 框架设为可选。

于 2012-04-04T08:21:27.223 回答