实际上,您不需要自己处理登录,在iOS中,如果您正在使用iOS SDK的UIActivityViewController,iOS会为您处理。
来自文档:
声明(SWIFT)
init(activityItems activityItems: [AnyObject], applicationActivities applicationActivities: [AnyObject]?)
参数
activityItems 执行操作的数据对象数组。数组中的对象类型是可变的,取决于应用程序管理的数据。例如,数据可能包含一个或多个字符串或图像对象,表示当前选择的内容。
在这个数组中,对象可以是采用UIActivityItemSource协议的对象,如UIActivityItemProvider对象。源和提供者对象充当代理,用于相应数据的情况下,您不想在需要之前提供该数据。
此数组不能为空,并且必须至少包含一个对象。applicationActivities 表示应用程序支持的自定义服务的UIActivity对象数组。此参数可以为空。
代码片段:
let so:NSURL = NSURL(string:"http://stackoverflow.com")
let activityVC = UIActivityViewController(
activityItems: ["Some text here...", so],
applicationActivities: nil)
self.navigationController.presentViewController(activityVC,
animated: true,
completion: nil)
你也可以使用Facebook的SDK来实现这个功能(需要在你的项目中添加)。此外,SDK将处理登录。
以下是先决条件:
在您的应用程序中分享到Facebook之前,您需要:
将Facebook SDK for iOS添加到您的移动开发环境中
获取一个已正确配置并链接到您的iOS应用程序的Facebook应用ID
将您的应用程序ID和显示名称添加到您的应用程序的.plist文件中。将FBSDKShareKit.framework链接到您的项目中。
这里是Facebook SDK页面:
https://developers.facebook.com/docs/sharing/ios
这里是一些用于URL分享的代码片段:
let content : FBSDKShareLinkContent = FBSDKShareLinkContent()
content.contentURL = NSURL(string: self.short_string)
content.contentTitle = self.title_text
// ... etc.
let button : FBSDKShareButton = FBSDKShareButton()
button.shareContent = content