Swift 2.0 Facebook Friend Friend的代码

我一直在寻找Facebook的朋友邀请iOS应用程序的等效Swift代码示例。 但我找不到它们

我明白在Facebook页面上有Objective-C版本https://developers.facebook.com/docs/app-invites/ios 。 不过,因为我从Swift开始,我觉得很难翻译。

有人能指出我的来源吗? 谢谢。

代码工作:

-In viewDidLoad:

let content = FBSDKAppInviteContent() content.appLinkURL = NSURL(string: "https://test/myapplink") content.appInvitePreviewImageURL = NSURL(string: "https://test/myapplink") // Old Way, now depreciated : //FBSDKAppInviteDialog.showFromViewController(self, withContent: content, delegate: self) //New way : FBSDKAppInviteDialog.showFromViewController(self, withContent: content, delegate: self) // Do any additional setup after loading the view. 

在你的viewController来符合协议委托:

 extension InviteFriendsViewController: FBSDKAppInviteDialogDelegate{ func appInviteDialog(appInviteDialog: FBSDKAppInviteDialog!, didCompleteWithResults results: [NSObject : AnyObject]!) { //TODO } func appInviteDialog(appInviteDialog: FBSDKAppInviteDialog!, didFailWithError error: NSError!) { //TODO } } 

Facebook Friend邀请Swift 3.0

首先导入FBSDKCoreKitFBSDKShareKit并添加委托FBSDKAppInviteDialogDelegate 。 然后,在邀请朋友button点击,添加下面的代码:

 let inviteDialog:FBSDKAppInviteDialog = FBSDKAppInviteDialog() if(inviteDialog.canShow()){ let appLinkUrl:NSURL = NSURL(string: "http://yourwebpage.com")! let previewImageUrl:NSURL = NSURL(string: "http://yourwebpage.com/preview-image.png")! let inviteContent:FBSDKAppInviteContent = FBSDKAppInviteContent() inviteContent.appLinkURL = appLinkUrl as URL! inviteContent.appInvitePreviewImageURL = previewImageUrl as URL! inviteDialog.content = inviteContent inviteDialog.delegate = self inviteDialog.show() } 

然后,添加FBSDKAppInviteDialogDelegate下面的方法:

 func appInviteDialog (_ appInviteDialog: FBSDKAppInviteDialog!, didCompleteWithResults results: [AnyHashable : Any]!) { let resultObject = NSDictionary(dictionary: results) if let didCancel = resultObject.value(forKey: "completionGesture") { if (didCancel as AnyObject).caseInsensitiveCompare("Cancel") == ComparisonResult.orderedSame { print("User Canceled invitation dialog") } } } func appInviteDialog(_ appInviteDialog: FBSDKAppInviteDialog!, didFailWithError error: Error!) { print("Error tool place in appInviteDialog \(error)") } 

Benobab的解决scheme是完美的,我只是想补充说,在我的情况下试图运行FBSDKAppInviteDialog.showFromViewController上viewDidAppear工作得更好。