我按照以下方式实施了面向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不是我的应用程序(显然),但由于我的应用程序尚未在商店中,我需要添加一些用于测试的内容。
答案 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)