์ด ๊ธ์ PhotoKit์ ๋ํด ๊น๊ฒ ๋ค๋ฃจ๋ ๊ธ์ ์๋๋๋ค.
๊ณต์๋ฌธ์ ๋ก ์ด๋ํ์๋ฉด ๋ ์์ธํ ์ ๋ณด๋ฅผ ์ป์ผ์ค ์ ์์ต๋๋ค ๐
ํฌํ ํผ์ปค๋ฅผ ์ปค์คํ
ํ ์ ์๋
BSImagePicker
๋ฅผ ์ฌ์ฉํ๋ค๊ฐ PHAsset์ ๋ํ ๊ถ๊ธ์ฆ์ด ์๊ฒจ์ ์ข ๋ ์์ธํ ์์๋ณด๊ธฐ๋ก ํ์ต๋๋ค
PhotoKit์ ์จ๋ฒ์ ์๋ ์ฌ์ง๋ค์ด๋ iCloud์ ์๋ ์ฌ์ง๋ค์ ๊ฐ์ ธ์
์ฑ์์ ์ธ ์ ์๊ฒ ํด์ฃผ๋ Kit ์
๋๋ค ! ( Photos ์ PhotosUI ํ๋ ์์ํฌ๊ฐ ํฌํจ๋จ )
๋ชฐ๋๋๋ฐ ์ฌ์ง์ ๊ฐ์ ธ์ค๋ ๊ฒ ๋ฟ๋ง ์๋๋ผ ์ฑ์ ํตํด์ ์จ๋ฒ์ ์๋ ์ฌ์ง๋ค์ ์์ /์ญ์
ํ๊ฑฐ๋
์ฆ๊ฒจ์ฐพ๋ ์ฌ์ง์ผ๋ก ๋ฑ๋กํ๊ณ ํ๋ ๊ฒ๋ค๋ ํ ์ ์๋๋ผ๊ตฌ์ !
์์๋์๋ฉด ์ข์ ๊ฒ ๊ฐ์ต๋๋ค :)
์ฌ์ง ๊ด๋ฆฌํด์ฃผ๋ ์ฑ๋ค์ด ์ด๋ฐ์์ผ๋ก ๋์์ ํ๋๊ฑฐ์๋ค์ !
์ด์ ์ด ๊ธ์ ๋ณธ๋ก ์ธ PHAsset to UIImage๋ฅผ ์์๋ด ์๋ค.
import Photos
extension PHAsset {
func getAssetThumbnail() -> UIImage {
let manager = PHImageManager.default()
let option = PHImageRequestOptions()
var thumbnail = UIImage()
manager.requestImage(for: self,
targetSize: CGSize(width: self.pixelWidth, height: self.pixelHeight),
contentMode: .aspectFit,
options: option,
resultHandler: {(result, info) -> Void in
thumbnail = result!
})
return thumbnail
}
}
PHImageManager
์ requestImage๋ผ๋ ๋ฉ์๋๋ฅผ ํตํด UIImage๋ฅผ ๋ฐ์์ฌ ์ ์์ต๋๋ค.
์ฌ๊ธฐ์์ ์ด๋ฏธ์ง ํฌ๊ธฐ๋ option๋ค์ ์ค์ ํ ์ ์์ต๋๋ค.
๋ญ๊ฐ ๋ง๋ค.. !
์ฌ๊ธฐ์ RequestOptions
๋ค์ ์กฐ๊ธ ๋ ์์ธํ ๋ณด๋ฉด
์ ์๊ฐ
์ ๊ธฐ๋ฐฉ๊ธฐ
์ด๊ฒ ์ธ์๋ ์ฌ๋ฌ๊ฐ์ง ํ๋กํผํฐ๊ฐ ์์ต๋๋ค๋ง ~
๋ ๋ง์ ๊ณต๋ถ๋ฅผ ์ํ์ ๋ค๋ฉด phimagerequestoptions ๊ณต์๋ฌธ์ ๋ฐ๋ก๊ฐ๊ธฐ!
์ฐ์ ์ ๊ฐ ์ ์ฉํ๋๋ฐ ์์ด์ ํ์ํ๋ค๊ณ ์๊ฐํ๋ ๋ถ๋ถ์ ์์ฃผ๋ก ์ ๋ฆฌํด๋ณด์์ต๋๋ค.
๋ค์์ ์๊ฐ์ด ๋ ๋ ๋ ๊น๊ฒ ํ๋ณด๋ฉด ์ฌ๋ฏธ์์ ๊ฒ ๊ฐ๋ค์ ๐