NSExtensionActivationRules should only need to match a single activity item for a share extension to be displayed

Originator:bryan
Number:rdar://18342403 Date Originated:9/15/2014
Status:Open Resolved:
Product:iOS SDK Product Version:iOS 8 GM
Classification:UI/Usability issue Reproducible:Yes
 
Summary:
Currently, only share extensions whose extension rules match *every single* activity item that an activity controller is configure with will show up.

This means that if an activity controller is configured with both an image and a string, a share extension that declares itself able to share only strings will *not* be displayed in the controller.

Steps to Reproduce:
Configure a UIActivityViewController with an activity items array containing three items: a UIImage, an NSURL, and an NSString.

Expected Results:
Share extensions that support either images *or* URLs *or* text should all show up in the activity controller

Actual Results:
Only share extensions that explicitly support images *and* URLs *and* text will show up.

A workaround for this is that extension developers could use a complex predicate rule that explicitly defines the OR relationships, but I strongly believe that this should be the default behavior even without resorting to a predicate. Also, the predicate documentation is severely lacking.

Comments


Please note: Reports posted here will not necessarily be seen by Apple. All problems should be submitted at bugreport.apple.com before they are posted here. Please only post information for Radars that you have filed yourself, and please do not include Apple confidential information in your posts. Thank you!