Я создаю приложение iOS для выбора снимков экрана из библиотеки фотографий пользователя. Приложение работает, за исключением того, что я могу отображать все фотографии, и мне нужны только скриншоты. Чтобы обнаружить скриншоты, я хочу сопоставить размер изображения с размером экрана.
var userScreenshots: PHFetchResult!
let screenWidth = view.bounds.size.width * 2
let screenHeight = view.bounds.size.height * 2
let options = PHFetchOptions()
// Following line needs to be changed —>
options.predicate = NSPredicate(format: "(pixelWidth & %d) != 0 || (pixelHeight & %d) != 0", screenWidth, screenHeight)
options.sortDescriptors = [NSSortDescriptor(key: "creationDate", ascending: true)]
userScreenshots = PHAsset.fetchAssetsWithOptions(options)
Сбой:
2015-06-22 23:00:24.540 Altershot[95046:24515142] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Unsupported predicate in fetch options: pixelWidth & 0 != 0'
Пожалуйста, объясните, как правильно определить этот предикат.
"(pixelWidth == %d AND pixelHeight == %d) OR (pixelWidth == %d AND pixelHeight == %d)" screenWidth, screenHeight , screenHeight, screenWidth
? Возможно проблема с ориентацией. - person Larme   schedule 23.06.2015