我們將編寫一個簡單的應用程序,讓我們在相冊選擇一個圖片,并分享我們的應用程序。
這個程序允許我們從相冊中選擇一張照片,我們也會選擇一個顏色與照片,我們也可以選擇默認的。
1.激活share extentions
打開plist文件,添加一下代碼:
<key>NSExtensionAttributes</key>
<dict>
<key>NSExtensionActivationRule</key>
<dict>
<key>NSExtensionActivationSupportsImageWithMaxCount</key>
<integer>1</integer>
</dict>
</dict>
2.實現share extentions
創建一個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)
})
}
}
}
}
同樣創建一個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)
})
}
}
}
}
寫得太水了!