1
현재 앨범 당 휴대 전화에 로컬로 저장된 이미지를 표시해야하는 앱에서 작업 중입니다. 모든 앨범 이름을 표시 할 수있게되었으므로 앨범을 선택하면 이미지를 표시하려고합니다. 내가 방법을 수있는이 버그가 2014 년에 다시 것을 읽을 수 있지만 한'가져 오기 옵션에서 지원되지 않는 조건 자 : title == osx의'Test ''
Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Unsupported predicate in fetch options: title == "Test"'
: 나는 오류가 계속
options.predicate = NSPredicate(format: "title = %@", albumName)
:
func getLocalAlbums() {
var albums: [AlbumModel] = [AlbumModel]()
albumNamesDevice.removeAll()
let options = PHFetchOptions()
let topLvlOptions = PHFetchOptions()
let userAlbums = PHAssetCollection.fetchAssetCollectionsWithType(.SmartAlbum, subtype: .SmartAlbumUserLibrary, options: options)
let topLvlCollection = PHCollectionList.fetchTopLevelUserCollectionsWithOptions(topLvlOptions)
let allAlbums = [topLvlCollection, userAlbums]
for i in 0 ..< allAlbums.count {
let result = allAlbums[i]
result.enumerateObjectsUsingBlock { (asset, index, stop) in
if asset is PHAssetCollection {
let ass: PHAssetCollection = asset as! PHAssetCollection
let fetchOptions = PHFetchOptions()
fetchOptions.predicate = NSPredicate(format: "mediaType = %d", PHAssetMediaType.Image.rawValue)
let newAlbum = AlbumModel(name: ass.localizedTitle!, count: ass.estimatedAssetCount, collection: ass)
albums.append(newAlbum)
}
}
}
for item in albums {
self.albumNamesDevice.append(item.name)
}
}
func getAssetsFromAlbum(albumName: String) -> [PHAsset] {
let options = PHFetchOptions()
// Bug from Apple since 9.1, use workaround
options.predicate = NSPredicate(format: "title = %@", albumName)
options.sortDescriptors = [ NSSortDescriptor(key: "creationDate", ascending: true) ]
let results = PHAsset.fetchAssetsWithMediaType(.Image, options: options)
var assets = [PHAsset]()
results.enumerateObjectsUsingBlock { (obj, index, stop) in
if let asset = obj as? PHAsset {
assets.append(asset)
}
}
return assets
}
문제는 다음 라인 애플 디벨로프가 아직 해결되지 않았습니까?
누구든지이 문제를 해결할 수 있습니까?