PHAssetを取得しようとしていますが、PHAsset.fetchAssets(withALAssetURLs:options :)はiOS 8から推奨されていません。UIImagePickerControllerからPHAssetを取得する方法
1
A
答えて
0
私はあなたが何を望んでいるのか分かりません。
iOS 8をターゲットに設定しようとしていますか?
これは、写真を取得する方法で、iOS(8.0以降)、macOS(10.11以降)、tvOS(10.0以降)で動作します。それ紛らわしいかもしれ
- 第一の機能が第二の機能は、実際にそれらを
//import the Photos framework import Photos //in these arrays I store my images and assets var images = [UIImage]() var assets = [PHAsset]() fileprivate func setPhotoOptions() -> PHFetchOptions{ let fetchOptions = PHFetchOptions() fetchOptions.fetchLimit = 15 let sortDescriptor = NSSortDescriptor(key: "creationDate", ascending: false) fetchOptions.sortDescriptors = [sortDescriptor] return fetchOptions } fileprivate func fetchPhotos() { let allPhotos = PHAsset.fetchAssets(with: .image, options: setPhotoOptions()) DispatchQueue.global(qos: .background).async { allPhotos.enumerateObjects({ (asset, count, stop) in let imageManager = PHImageManager.default() let targetSize = CGSize(width: 200, height: 200) let options = PHImageRequestOptions() options.isSynchronous = true imageManager.requestImage(for: asset, targetSize: targetSize, contentMode: .aspectFit, options: options, resultHandler: { (image, info) in if let image = image { self.images.append(image) self.assets.append(asset) } if count == allPhotos.count - 1 { DispatchQueue.main.async { //basically, here you can do what you want //(after you finish retrieving your assets) //I am reloading my collection view self.collectionView?.reloadData() } } }) }) }
}
をフェッチするオプションを設定する場合 コードがコメントされています
OPの解明に基づいて編集
あなたがUIImagePickerControllerDelegate
は、次の関数内
func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : AnyObject]) {
を実装するデリゲートを設定する必要がある方法は、このような画像を得る言った:私は同じインクルードしていた
var image : UIImage = info[UIImagePickerControllerEditedImage] as! UIImage
1
を最初にアクセス権を確認し、アクセスを要求する:
let status = PHPhotoLibrary.authorizationStatus()
if status == .notDetermined {
PHPhotoLibrary.requestAuthorization({status in
})
}
あなたのUIImagePickerControllerをトリガーするものまでちょうどフックします。デリゲートコールには、PHAssetがuserInfoに含まれるようになりました。
guard let asset = info[UIImagePickerControllerPHAsset] as? PHAsset
関連する問題
- 1. PHAssetからサムネイル画像を取得
- 2. PHAssetからサイズ(高さと幅)を取得する
- 3. uiimagepickercontroller経由でビデオのジオロケーションを取得する方法
- 4. PHAssetから編集した写真のURLを取得
- 5. UIImagePickerControllerから1080pビデオを取得するには?
- 6. PHAsset元のファイル名を取得
- 7. 新しいPHAssetのものを使用してUIImagePickerControllerを使ってUOSのフル画像URLを取得する方法
- 8. UIImagePickerControllerのwebviewからの使用方法
- 9. リソースにロードせずにPHAssetのファイルサイズを取得しますか?
- 10. UIImagePickerController story:ツイートに挿入するイメージを取得する方法は?
- 11. UIImagePickerControllerから選択した元のビデオ名を取得
- 12. UIImagePickerControllerから画像の位置を取得
- 13. Assetライブラリを使用してuiimagepickercontrollerでファイル名を取得する方法は?
- 14. ビデオのPHAssetディスクのファイルサイズを取得するには?
- 15. PHAssetのメタデータはどのように取得できますか?
- 16. TabBarApplicationの最初の画面としてUIImagePickerControllerを取得する方法
- 17. uiimagepickercontrollerからUIimageとして背景を保存する方法
- 18. TFSコレクションを取得したWorkItemChangedEventから取得する方法
- 19. サーバーからイメージを取得する方法は?またはNSUrlからNSDataを取得する方法
- 20. ウェブサイトAPIから取得したデータからキーを取得する方法
- 21. サーバーからのJSONデータの取得方法と取得方法
- 22. iOSのPHAssetを使用して画像の緯度と経度を取得する方法は?
- 23. UIImagePickerControllerから取得しているNSURLを確認してください。
- 24. UIImagePickerControllerでViewControllerを表示する方法
- 25. UIImagePickerControllerのフレームを変更する方法
- 26. UIImagePickerController - Appsドキュメントディレクトリから写真を保存して取得します
- 27. PythonからC structを受け取る/取得する方法
- 28. WindowsフォームクライアントからHTTPリクエストから値を取得する方法
- 29. WebサービスからJSONから要素を取得する方法
- 30. リストから何らかのオブジェクトを取得する方法
私は私が私の答え –
から得ている画像からPHAssetを取得したい私はこれを行うための唯一の方法は、全体の写真のライブラリを取得して、各写真を列挙であると信じてすることはできません! –
を編集した私はUIImagePickerController –