Для первого я не знаю, почему вы ожидаете, что «file_type» станет поддерживаемым свойством метаданных.
Существует два свойства для типа содержимого элемента. Один из них - kMDItemContentType
, который является непосредственным типом содержимого элемента (как правило, определяется его расширением имени файла). Другой - kMDItemContentTypeTree
, который представляет собой массив этого типа и каждого из его предков.
Чтобы найти аудиофайлы, вы хотите найти предметы, у которых kMDItemContentTypeTree
равно kUTTypeAudio
. (Да, проверка равенства будет работать для этого, даже если вы действительно хотите проверить, содержит ли массив этот тип. Попробуйте его в терминале: mdfind 'kMDItemContentTypeTree == public.audio'
)
В вашем коде вы должны использовать строку с двумя параметрами, просто как у вас есть для второго предиката, но с ==
в качестве оператора: @"%K == %@"
Для параметров передайте kMDItemContentTypeTree
(ключ) и kUTTypeAudio
(значение - в этом случае, тип контента - вы ищете).
Что касается второго, я не могу найти ни одного упоминания о каком-либо другом kMDItemAccessedDates
exactly one other Stack Overflow question. Я думаю, что автор этого вопроса мог бы сделать этот ключ для своего импортера Spotlight; вы не можете рассчитывать найти его на складе OS X системы.
Вместо этого вы можете попробовать kMDItemLastUsedDate
. (Не записывайте его в виде строкового литерала, в @"…"
. У вас есть kMDItemLastUsedDate
без каких-либо котировок вокруг него или @ перед ним.)
Спасибо. Мне нужно было отложить решение проблем. С прошлого раза я тоже пробовал kMDItemLastUsedDate. В качестве ожидаемого kMDItemLastUsedDate я использовал результат команды mdls файла, где kMDItemLastUsedDate был (2014-02-24 10:24:32). В этом случае предикат был http://pastebin.com/PtCkPHdP, и я нашел 0 результатов :(Любые идеи? – toohtik
@toohtik: У вас есть объект даты ('date' не' nil')? –
yes I Конечно, после печати NSPredicate у меня получилось что-то вроде этого: kMDItemLastUsedDate == CAST (414931838.000000, «NSDate») Также я использовал дату точно в выводе mdls. Если у вас есть свободное время, проверьте мой источник, пожалуйста, http: // cl.ly/1I2C253U230b Мой osx 10.9 Спасибо большое! – toohtik