#ios #objective-c #nspredicate #ios8-share-extension
#iOS #objective-c #nspredicate #ios8-share-extension
Вопрос:
SUBQUERY(
extensionItems,
$extensionItem,
SUBQUERY(
$extensionItem.attachments,
$attachment,
ANY $attachment.registeredTypeIdentifiers UTI-CONFORMS-TO "com.adobe.pdf"
).@count == 1
).@count == 1
OR
SUBQUERY(
extensionItems,
$extensionItem,
SUBQUERY(
$extensionItem.attachments,
$attachment,
ANY $attachment.registeredTypeIdentifiers UTI-CONFORMS-TO "public.image"
).@count amp;<= 10
).@count == 1
OR
SUBQUERY(
extensionItems,
$extensionItem,
SUBQUERY(
$extensionItem.attachments,
$attachment,
ANY $attachment.registeredTypeIdentifiers UTI-CONFORMS-TO "public.url"
).@count == 1
).@count == 1
Я хочу только поддерживать images, pdf and url
.
Но share extension
отображается во всех типах. т. Е. Видео, контакты и т. Д.
Ответ №1:
Это из-за строки:
).@count amp;<= 10
Он возвращает true
for 0
, что означает true
отсутствие совпадения, поэтому ваше расширение будет возвращаться true
для каждого типа. Измените эту строку на следующую, если вы хотите ограничить количество изображений 10.
).@count == $extensionItem.attachments.@count AND $extensionItem.attachments.@count amp;<= 10"