我正在建立一个像Instagram一样的社交网络应用程序。在这个应用程序中,您可以拍照并在应用程序内共享。
我想将我的应用添加到"与...共享"画廊内的菜单。
目前我添加了应用扩展程序,我的应用程序出现在该菜单上。
但是,我想要做的是,将所选图像发送到主应用程序并在那里处理它。 (如果用户已登录,请转到发布创建屏幕,如果没有先登录,则转到创建屏幕。)
如何实现这一目标?我尝试使用网址方案启动应用,但无法通过所选图片。
到目前为止,这是代码:
import UIKit
import Social
import MobileCoreServices
class ShareViewController: SLComposeServiceViewController {
let MAX_SHARE_TEXT_LENGTH = 25
override func isContentValid() -> Bool {
// Do validation of contentText and/or NSExtensionContext attachments here
//Validate text.
if let currentMessage = contentText {
let currentMessageLength = currentMessage.characters.count
charactersRemaining = MAX_SHARE_TEXT_LENGTH - currentMessageLength
if Int(charactersRemaining) < 0 {
return false
}
}
return true
}
override func didSelectPost() {
// This is called after the user selects Post. Do the upload of contentText and/or NSExtensionContext attachments.
// Inform the host that we're done, so it un-blocks its UI. Note: Alternatively you could call super's -didSelectPost, which will similarly complete the extension context.
self.extensionContext!.completeRequestReturningItems([], completionHandler: nil)
}
override func configurationItems() -> [AnyObject]! {
// To add configuration options via table cells at the bottom of the sheet, return an array of SLComposeSheetConfigurationItem here.
print(extensionContext)
return []
}
}