Swift Facebook 好友邀请 2.0 代码
Swift 2.0 code for Facebook Friend Invite
我一直在为 iOS 应用的 Facebook 好友邀请寻找等效的 Swift 代码示例。但是我找不到。
我了解到 Facebook 页面 https://developers.facebook.com/docs/app-invites/ios 上有 Objective-C 版本。但是,因为我是从 Swift 开始的,所以我觉得很难翻译。
有人可以给我指出来源吗?谢谢。
代码有效:
-在 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
}
}
Benobab 解决方案是完美的,我只是想补充一点,在我的案例中尝试 运行
FBSDKAppInviteDialog.showFromViewController 在 viewDidAppear 上效果更好。
Facebook 好友邀请 Swift 3.0
首先,导入FBSDKCoreKit、FBSDKShareKit并添加委托FBSDKAppInviteDialogDelegate。然后,点击邀请好友按钮,添加以下代码:
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)")
}
我一直在为 iOS 应用的 Facebook 好友邀请寻找等效的 Swift 代码示例。但是我找不到。
我了解到 Facebook 页面 https://developers.facebook.com/docs/app-invites/ios 上有 Objective-C 版本。但是,因为我是从 Swift 开始的,所以我觉得很难翻译。
有人可以给我指出来源吗?谢谢。
代码有效:
-在 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
}
}
Benobab 解决方案是完美的,我只是想补充一点,在我的案例中尝试 运行 FBSDKAppInviteDialog.showFromViewController 在 viewDidAppear 上效果更好。
Facebook 好友邀请 Swift 3.0
首先,导入FBSDKCoreKit、FBSDKShareKit并添加委托FBSDKAppInviteDialogDelegate。然后,点击邀请好友按钮,添加以下代码:
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)")
}