10

简单的代码行:

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

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

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

4

5 回答 5

17

你在模拟器中运行了吗?

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

也许你可以用IOS6在ipad上测试一下。

于 2012-10-16T09:08:08.700 回答
4

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

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

于 2012-10-19T12:41:17.170 回答
1

您也可以isAvailableForServiceType:使用与模拟器一起工作的 iOS 7.1 进行测试。

这里我检查了什么

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

请检查这个。

于 2014-04-21T12:42:27.527 回答
0

我还可以确认它在模拟器(Xcode 4.5.1,iOS 6.0)中已损坏[即,为所有三个服务返回 True]——但它可以在设备上正常运行(iPhone 4S,运行 iOS 6.0)。

于 2012-12-15T01:01:33.107 回答
0

isAvailableForServiceTypetrue在 iPhone 和 iPad 模拟器中总是返回。

相同的代码在 iOS 6 iPhone 和 iPad 上运行良好。

于 2013-05-15T05:17:21.200 回答