即使是比我聪明得多的人NSExtensionActivationRule也会找到奥术的语法,但即使像我这样的傻瓜也应该能够复制/粘贴例子,不是吗?不幸的是,我甚至无法让Apple的例子工作.点击共享表按钮(下面的堆栈跟踪)时,我的操作扩展程序的主机应用程序崩溃了.
你应该能够设置NSExtensionActivationRule为字符串,对吗?当我将其设置TRUEPREDICATE为调试目的时,它工作正常.但是,如果我从Apple(稍作修改public.image)中获取这个简单的例子并粘贴它,我就会崩溃:
{extensionItems = ({
attachments = ({
registeredTypeIdentifiers = (
"public.image"
);
});
})}
Run Code Online (Sandbox Code Playgroud)
我也试过了这SUBQUERY件事:
SUBQUERY($extensionItem.attachments, $attachment,
ANY $attachment.registeredTypeIdentifiers
UTI-CONFORMS-TO "public.image").@count >= 1
Run Code Online (Sandbox Code Playgroud)
理想情况下,我想通过使用完全避免这种情况,NSExtensionActivationSupportsImageWithMaxCount但正如这个人发现的那样,似乎没有为jpgs激活它.
无论如何,承诺的堆栈跟踪:
2015-02-21 23:28:08.644 MobileSlideShow[56997:2414043] Communications error: <OS_xpc_error: <error: 0x4c985f4> { count = 1, contents =
"XPCErrorDescription" => <string: 0x4c9883c> { length = 22, contents = "Connection interrupted" }
}>
2015-02-21 23:28:08.651 MobileSlideShow[56997:2413473] *** Terminating app due to uncaught …Run Code Online (Sandbox Code Playgroud)