isAvailableForServiceType总是返回true?

简单的代码行:

NSLog(@"Checking on Facebook: %d -- Checking on Twitter: %d",[SLComposeViewController isAvailableForServiceType:SLServiceTypeFacebook], [SLComposeViewController isAvailableForServiceType:SLServiceTypeTwitter]); 

问题是我得到两个BOOL的1。 这是一个问题,因为Twitter和Facebook都没有设置帐户。 这是在模拟器上,所以想知道是否有人经历过这种情况也发生在设备上呢?

文档说,只有服务可用并且至less有一个帐户被设置,它才应该返回true。 但即使没有帐户设置,我也会变得真实。 我想使用这些值来隐藏一些社交发布button,所以想这个工作。

你在模拟器中运行了吗?

似乎isAvailableForServiceType总是在模拟器中返回1

也许你可以用IOS6在ipad上testing它。

根据我的经验,我可以确认这是iOS模拟器6.0中的一个错误。 对于iOS模拟器上的任何服务types, isAvailableForServiceType方法始终返回TRUE。

在运行当前iOS 6.0的实际设备上,它正在按预期工作。

你可以testingisAvailableForServiceType:使用它在模拟器上工作的iOS 7.1。

在这里我检查了什么

 NSLog(@"Facebook Enabled : %d",[SLComposeViewController isAvailableForServiceType:SLServiceTypeFacebook]; 

请检查这个。

我也可以在Simulator(Xcode 4.5.1,iOS 6.0)中确认它已经损坏了(即对于所有三种服务都返回True),但是它可以在设备(iPhone 4S,运行iOS 6.0)上正常运行。

在iPhone和iPad模拟器中, isAvailableForServiceType始终返回true

相同的一段代码在iOS 6 iPhone和iPad上工作正常。