在 IOS 个应用中共享扩展

Sharing Extensions in IOS Apps

我是整体 iOS 编程的新手 - Swift。我想知道如果我在 xCode6 中创建一个项目然后我想分享我从我的项目中获取的图像例如到 evernote、google 驱动器、消息、电子邮件、facebook、twitter,等等等等。

那么,我该怎么做呢?是不是我需要为每个共享扩展启用 xcode6 或我需要实施 swift 代码来启用这些共享扩展?

我可能需要更改哪些配置才能启用共享扩展(如上所述)?或者项目中可能进行哪些类型的代码更改?是否有任何示例或示例以及我可以查看的说明以及它们如何实现 xcode6.

我以前从未使用过共享扩展,所以任何可以共享的知识对我来说都是一个很好的资源。提前致谢!

Use the Xcode Share Template.

网上有很多教程可以了解如何使用 Swift 进行共享扩展,这里是其中的一些教程和一些您也应该知道的关于扩展的好文章:

甚至您也可以通过以下方式在代码中完成:

@IBAction func shareSheet(sender: AnyObject){

    let firstActivityItem = "Hey, check out this mediocre site that sometimes posts about Swift!"

    let secondActivityItem : NSURL = NSURL(fileURLWithPath: "http://www.dvdowns.com/")!

    let activityViewController : UIActivityViewController = UIActivityViewController(
    activityItems: [firstActivityItem, secondActivityItem], applicationActivities: nil)

    activityViewController.excludedActivityTypes = [
      UIActivityTypePostToWeibo,
      UIActivityTypePrint,
      UIActivityTypeAssignToContact,
      UIActivityTypeSaveToCameraRoll,
      UIActivityTypeAddToReadingList,
      UIActivityTypePostToFlickr,
      UIActivityTypePostToVimeo,
      UIActivityTypePostToTencentWeibo
    ]

    self.presentViewController(activityViewController, animated: true, completion: nil)
}

以上代码仅适用于 iPhone,因为对于 iPad 您需要指定 sourceView 并按以下方式将其显示为弹出窗口:

activityViewController.popoverPresentationController?.sourceView = (sender as! UIButton) 

上面的行必须在你初始化 activityViewController 之后输入,它应该可以工作。

希望对您有所帮助。