Facebook应用程序邀请FBSDKAppInviteDialog不出现在iOS模拟器

时间:2015-05-05 04:25:41

标签: ios facebook

我按照以下方式实施了面向iOS的新版4.0 SDK App Invites对话框:https://developers.facebook.com/docs/app-invites/ios

我正在模拟器中测试它。

当我使用真实的Facebook帐户登录时,会出现App Invite对话框,我会看到所有朋友。虽然我想使用facebook测试用户测试通知,因为这是指南建议的:

  

我们有内部逻辑,用于确定是否向客户端发送推送通知。如果我们检测到此人已安装该应用,我们可能不会触发推送通知。测试推送通知的最佳方法是使用test users

然而,当我作为我的应用程序的测试用户登录并尝试调出对话框时,它失败并出现以下错误:

Error in invite Error Domain=com.facebook.sdk.core Code=2 "The operation couldn’t be completed. (com.facebook.sdk.core error 2.)" UserInfo=0x7f989d8cbe00 {com.facebook.sdk:FBSDKErrorDeveloperMessageKey=Invalid method_results., com.facebook.sdk:FBSDKErrorArgumentNameKey=method_results}

如果我在实际手机上尝试使用相同的测试用户,它可以正常工作。似乎这个问题只发生在模拟器上。

更新以添加我正在使用的代码:

    var inviteDialog : FBSDKAppInviteDialog = FBSDKAppInviteDialog()
    if (inviteDialog.canShow()) {
        let appLinkUrl : NSURL = NSURL(string: "https://fb.me/1616988365211522")!
        let previewImageUrl : NSURL = NSURL(string: "http://upload.wikimedia.org/wikipedia/commons/4/4f/Polistes_May_2013-2.jpg")!

        var inviteContent : FBSDKAppInviteContent = FBSDKAppInviteContent()
        inviteContent.previewImageURL = previewImageUrl
        inviteContent.appLinkURL = appLinkUrl
        inviteDialog.content = inviteContent

        inviteDialog.delegate = self
        inviteDialog.show()
    }

...别处

func appInviteDialog(appInviteDialog: FBSDKAppInviteDialog!, didCompleteWithResults results: [NSObject : AnyObject]!) {
    // nothing to do here
    println("Completed App Invite with results: \(results)")
}

func appInviteDialog(appInviteDialog: FBSDKAppInviteDialog!, didFailWithError error: NSError!) {
    // don't know enough about the errors to let the user know
    println("Error in App Invite: \(error)")
}

注意,这是我的应用的测试版本。 Apple App Store ID不是我的应用程序(显然),但由于我的应用程序尚未在商店中,我需要添加一些用于测试的内容。

2 个答案:

答案 0 :(得分:0)

我遇到了同样的问题,在我测试app邀请的情况下,除了一个用户之外,它对所有用户都运行正常,错误是: 打印错误说明:

Error Domain=com.facebook.sdk.core Code=2 "The operation couldn’t be completed. (com.facebook.sdk.core error 2.)" UserInfo=...     {com.facebook.sdk:FBSDKErrorArgumentNameKey=method_results,  com.facebook.sdk:FBSDKErrorDeveloperMessageKey=Invalid method_results.}

此错误发生在我在Facebook上创建的帐户但未通过电子邮件链接确认该帐户的用户,在确认帐户后此错误未出现且我能够发送邀请来自那个特定的用户。

希望这会有所帮助:)

答案 1 :(得分:0)

  1. 您应该升级Facebook SDK版本
  2. 再次查看Facebook开发人员信息中心中的应用页面,检查每个必填字段是否都有效值。
  3. 在真实设备上进行测试,看看Facebook SDK响应是否存在任何差异。