LSSupportsOpeningDocumentsInPlace does not allow fine-grained control over which documents can be opened
| Originator: | matthias.tretter | ||
| Number: | rdar://23085952 | Date Originated: | 13-Oct-2015 11:12 AM |
| Status: | Open | Resolved: | |
| Product: | iOS SDK | Product Version: | 9 |
| Classification: | Serious Bug | Reproducible: | Always |
Summary: „Open in Place“ is a handy feature that can be turned on/off globally in the Info.plist, but it doesn’t allow any configuration/opt-out of which file types are supported. Our app uses a file package format for storing its documents and therefore supports opening of documents with base UTIs of public.composite-content, com.apple.package and public.zip-archive. When the user taps on, e.g. a Keynote document in the iCloud Drive App, iOS automatically opens our app, since the current version of Keynote.app (2.5.5) doesn’t support „Open in Place“ yet and iOS determines our app as the „best“ app to open the keynote file format, which inherits from the same base UTI as our file format. We have no option to prevent this behavior, since we need to support opening of files with the given UTIs, but we can’t specify a fine-grained control of file types/extensions for LSSupportsOpeningDocumentsInPlace. This bug is not related to the iWork apps, but to how iOS determines the correct app for opening a specific file and the API related to „open in place“. Steps to Reproduce: 1. Install the latest version of MindNode.app from the iOS AppStore (4.1 or above) 2. Install the current version of Keynote.app from the iOS AppStore (2.5.5) 3. Create a Keynote document that is stored in iCloud Drive 4. Open iCloud Drive.app on your iOS device 5. Tap on the Keynote document stored in iCloud Drive to open it Expected Results: iOS either opens Keynote.app to display the document, or it previews the document within the iCloud Drive.app. The latter happens, if MindNode.app and no other app (that supports „open in place“) with a similar file format, is installed on the device. This could be realized by not opening MindNode.app at all, if - (BOOL)application:(nonnull UIApplication *)app openURL:(nonnull NSURL *)url options:(nonnull NSDictionary<NSString *,id> *)options returns NO, or by a fine-grained configuration of LSSupportsOpeningDocumentsInPlace in the Info.plist Actual Results: iOS opens MindNode.app and tries to open the Keynote document. Opening of the document fails, MindNode.app stays open, user is angry. Regression: Does not occur in iOS 8, since there is no „open in place“ feature/iCloud Drive app. Notes: The same problem most likely occurs with other iWork file formats, e.g. Pages documents, but is not related to iWork at all.
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!