简单的代码行:
NSLog(@"Checking on Facebook: %d -- Checking on Twitter: %d",[SLComposeViewController isAvailableForServiceType:SLServiceTypeFacebook], [SLComposeViewController isAvailableForServiceType:SLServiceTypeTwitter]);
问题是我两个BOOL都得到1。这是一个问题,因为Twitter和Facebook都没有设置帐户。这是在模拟器上,所以想知道人们是否经历过这种情况也会在设备上发生?
文档说它应该只在服务可用且至少设置了一个帐户时才返回true。但即使没有账户设置,我也会变成现实。我想使用这些值隐藏一些社交帖子按钮,以便这样做。
答案 0 :(得分:17)
你在模拟器中运行了吗?
似乎isAvailableForServiceType
始终在模拟器中返回1
。
也许你可以用IOS6在ipad上测试它。
答案 1 :(得分:4)
根据我的经验,我可以确认这是iOS模拟器6.0中的一个错误。对于iOS模拟器上的任何服务类型,isAvailableForServiceType
方法始终返回TRUE。
在运行当前iOS 6.0的实际设备上,它正在按预期工作。
答案 2 :(得分:1)
您可以使用iOS 7.1测试isAvailableForServiceType:
,它也可以使用模拟器。
这里我检查了什么
NSLog(@"Facebook Enabled : %d",[SLComposeViewController isAvailableForServiceType:SLServiceTypeFacebook];
请检查一下。
答案 3 :(得分:0)
我还可以确认它在模拟器(Xcode 4.5.1,iOS 6.0)中已经损坏[即,为所有三种服务返回True] - 但它可以在设备上正常运行(iPhone 4S,运行iOS 6.0) )。
答案 4 :(得分:0)
isAvailableForServiceType
始终在iPhone和iPad模拟器中返回true
。
同样的代码在iOS 6 iPhone和iPad上运行良好。