确定设备上运行的IOS

时间:2012-10-18 12:14:48

标签: objective-c ios facebook ipad twitter

我在我的应用程序中有一个facebook分享按钮,一个推文按钮。我的应用程序支持IOS 5.1。 所以对于twitter来说没有问题。但是我应该如何使用Facebook分享按钮。

如果运行应用程序的IOS设备正在使用IOS6,我想使用新的方式,就像你可以看到here

但是当应用程序在以前的IOS设备上运行时。我想用旧时尚的方式。

有人能帮助我吗?

亲切的问候

3 个答案:

答案 0 :(得分:6)

如果您想知道SLComposeViewController是否支持Facebook,请检查isAvailableForServiceType,例如

if ([SLComposeViewController class]) {
    // once you know that they have iOS 6 or higher
    // check if the account is setup
    if ([SLComposeViewController isAvailableForServiceType:SLServiceTypeFacebook])
    {
        // now we know we have a facebook account configure and logged in
    }
} else {
    // You don't have iOS 6 or higher
}

通常最好使用API​​(或classNSClassFromString用于弱链接类,或respondsToSelector,如果某个类具有在iOS的更高版本中添加的方法)而不是检查iOS的版本。有关详细信息,请参阅 iOS应用程序编程指南的Supporting Multiple Versions of iOS部分。

答案 1 :(得分:1)

您可以使用以下代码:

if([[[UIDevice currentDevice] systemVersion] intValue] == 6)
{
 // your code for iOS 6
}
else
{
 // your code for other iOS
}

答案 2 :(得分:1)

步骤如下: 第一个薄弱环节是社会框架(让它可选)

接下来检查应用程序是否可以使用SLComposeViewController,然后检查用户是否已设置其Facebook帐户

if(NSClassFromString(@"SLComposeViewController") != nil)
{
  if([SLComposeViewController isAvailableForServiceType:SLServiceTypeFacebook]])
  {
   //Add your SLComposeViewController code
  }
}