我們將編寫一個(gè)簡單的應(yīng)用程序,讓我們在相冊選擇一個(gè)圖片,并分享我們的應(yīng)用程序侣集。
這個(gè)程序允許我們從相冊中選擇一張照片,我們也會(huì)選擇一個(gè)顏色與照片兰绣,我們也可以選擇默認(rèn)的世分。
1.激活share extentions
打開plist文件,添加一下代碼:
<key>NSExtensionAttributes</key>
<dict>
<key>NSExtensionActivationRule</key>
<dict>
<key>NSExtensionActivationSupportsImageWithMaxCount</key>
<integer>1</integer>
</dict>
</dict>
2.實(shí)現(xiàn)share extentions
創(chuàng)建一個(gè)RedViewController繼承UIViewController缀辩,添加ImageView
import UIKit
import Photos
class RedViewController: UIViewController {
@IBOutlet weak var imageView: UIImageView!
let suiteName = "paul.share.extension"
let redDefaultKey = "RedColorImage"
//將圖片保存在NSUserDefaults中
override func viewDidLoad() {
super.viewDidLoad()
if let prefs = NSUserDefaults(suiteName: suiteName) {
if let imageData = prefs.objectForKey(redDefaultKey) as? NSData {
dispatch_async(dispatch_get_main_queue(), { () -> Void in
self.imageView.image = UIImage(data: imageData)
})
}
}
}
}
同樣創(chuàng)建一個(gè)BlueViewController繼承UIViewController臭埋,添加ImageView
import UIKit
class BlueViewController: UIViewController {
@IBOutlet weak var imageView: UIImageView!
let suiteName = "paul.share.extension"
let blueDefaultKey = "BlueColorImage"
//將圖片保存在NSUserDefaults中
override func viewDidLoad() {
super.viewDidLoad()
if let prefs = NSUserDefaults(suiteName: suiteName) {
if let imageData = prefs.objectForKey(blueDefaultKey) as? NSData {
dispatch_async(dispatch_get_main_queue(), { () -> Void in
self.imageView.image = UIImage(data: imageData)
})
}
}
}
}
寫得太水了!