我想使用social.framework制作在Facebook上分享的按钮。我做这个:
#import <UIKit/UIKit.h>
#import <Social/Social.h>
@interface SocialSharingViewController : UIViewController
- (IBAction)postToFacebook:(id)sender;
@end
然后我添加 m。文件:
- (IBAction)postToFacebook:(id)sender {
if([SLComposeViewController isAvailableForServiceType:SLServiceTypeFacebook]) {
SLComposeViewController *controller = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeFacebook];
[controller setInitialText:@"First post from my iPhone app"];
[self presentViewController:controller animated:YES completion:Nil];
}
}
它在模拟器中运行完美,但当我在 iPhone 5 设备上测试它时,它不起作用。当我点击 postToFacebook 按钮时,没有任何反应。
请帮助我
最佳答案
可能的错误是您的iphone 5没有配置任何fb帐户。 [SLComposeViewController isAvailableForServiceType:SLServiceTypeFacebook]
在这种情况下将返回 NO
根据 documentation对于 SLComposeViewController,isAvailableForServiceType“返回一个 bool 值,指示该服务是否可访问并且至少设置了一个帐户......为了使该帐户可用,用户必须在设备设置中登录到社交服务。”
注意:每当添加 if 条件时,也使用 else 条件。 #编码标准
关于iphone - Social.framework 不适用于设备,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15084402/