如何使我的SLComposeViewController可用于服务类型(Facebook)iOS swift

时间:2016-01-20 20:52:32

标签: ios swift facebook-share

我刚刚添加了所有必需的Facebook框架,调整了我的info.plist,并在我的app委托中添加了方法,以允许用户使用Facebook登录。我甚至在我的解析数据库上测试并验证了这些新数据。耶。

现在,如果他们使用Facebook登录我的应用程序,我正在尝试添加一个共享信息给用户新闻源的按钮。这就是我所拥有的:

@IBAction func tellFriends(sender: AnyObject) {

    if SLComposeViewController.isAvailableForServiceType(SLServiceTypeFacebook) {  // USER LOGGED IN USING FACEBOOK

        let facebookSheet = SLComposeViewController(forServiceType: SLServiceTypeFacebook)
        facebookSheet.setInitialText("Share on Facebook")
        self.presentViewController(facebookSheet, animated: true, completion: nil)

    } else {  // USER DID NOT USE FB TO LOG IN

        let alert = UIAlertController(title: "Accounts", message: "Please login to a Facebook account to share.", preferredStyle: UIAlertControllerStyle.Alert)
        alert.addAction(UIAlertAction(title: "OK", style: UIAlertActionStyle.Default, handler: nil))
        self.presentViewController(alert, animated: true, completion: nil)
    }

}

我得到的唯一结果是else,我的警报控制器弹出。我确认我已经使用Facebook登录了应用程序。我错过了什么?提前谢谢。

1 个答案:

答案 0 :(得分:0)

开玩笑,这段代码可以正常工作,而不是在模拟器中。一旦我插上手机并在那里试了它就可以了。与位置服务,通知和消息UI非常相似;它们适用于实际的iPhone,而不是模拟器。