Sharing Extensions in IOS Apps [closed]

南笙酒味 提交于 2020-01-16 19:40:53

问题


I am new to the overall iOS Programming - Swift. I am wondering that if I create a project in xCode6 and then I would like to share an image that I took from my project for example to evernote, google drive, messages, email, facebook, twitter,so on and so on.

So, how would I do that? Is it something, I need to enable from xcode6 for each sharing extension or I need to implement swift code to enable these sharing extensions?

What kind of configurations I might needs to change to get sharing extensions (mentioned above) enabled? Or what kind of code changes in a project are possible? Are there any examples or samples out there with the instructions that I can look into and see how they implement into xcode6.

I never work with the sharing extensions before, so any knowledge that can be shared will be a great resource for me. Thanks in advance!


回答1:


Use the Xcode Share Template.

There is a lot of tutorials online to know how to make share extensions using Swift, here are some of them and some good articles about extensions you should know too :

  • Building a Simple Share Extension in iOS 8 App
  • Xcode 6 Tutorial: iOS 8 Simple Share Extension in Swift
  • App Extension Programming Guide
  • Share extensions in iOS 8: Explained

Even you could do it in code too in the following way:

@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)
}

The above code only works for iPhones because for iPad you need to specify the sourceView and show it as a popover in the following way:

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

The above line must be put in just after you init the activityViewController and it should be work.

I hope this help you.



来源:https://stackoverflow.com/questions/29954540/sharing-extensions-in-ios-apps

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!