App unable to import files in iOS13

My app has the ability to import GPX route files. However I am getting reports from users of iOS13 that the app is no longer appearing in the list of available apps when they try to export a GPX file.


Has anyone else seen or heard of this, and does anyone know how I might get around it? As far as I know it is only the Imported UTIs that affect this - is iOS 13 more fussy about how they are specified?

We solved it by re-adding all the file definitions in our App-Info.plist file by using Apples documentation and the Xcode Project Editor (In Xcode click on the project item at the top of the file tree. Then click on the tab "Info".) We used for that an iPhone SE with the newest iOS 13 beta and Xcode 11 GM (11A420a).


The manual:

https://developer.apple.com/library/archive/qa/qa1587/_index.html

(See also the troubleshooting tips at the bottom.)


The result in the plist file looks like this:



...

<key>CFBundleDocumentTypes</key>

<array>

<dict>

<key>CFBundleTypeIconFiles</key>

<array/>

<key>CFBundleTypeName</key>

<string>KML File</string>

<key>CFBundleTypeRole</key>

<string>Editor</string>

<key>LSHandlerRank</key>

<string>Owner</string>

<key>LSItemContentTypes</key>

<array>

<string>org.example.app.document.kml</string>

</array>

</dict>

</array>


...

<key>UTExportedTypeDeclarations</key>

<array>

<dict>

<key>UTTypeConformsTo</key>

<array>

<string>public.data</string>

</array>

<key>UTTypeDescription</key>

<string>KML File</string>

<key>UTTypeIconFiles</key>

<array/>

<key>UTTypeIdentifier</key>

<string>org.example.app.document.kml</string>

<key>UTTypeTagSpecification</key>

<dict>

<key>public.filename-extension</key>

<array>

<string>kml</string>

</array>

</dict>

</dict>

</array>

...

Thanks for posting this. Adding "UTTypeConformsTo" is what I needed for my app to show up in sharing action sheets in iOS 13.


When Safari downloads one of my custom files in iOS 13, it no longer prompts if I want to open that file in my app like it used to. I hope that ability comes back since I'm not sure users will know to look at the downloaded file and then do a share action.

Is it possible, that this only works, when no other app is installed, that supports kml?

Tried the same solution for gpx and was not able to make it work with many other gpx-apps on the phone.

Thank you! But it doesn't seem to matter what I define there, to me, it looks like a topic of installation order.


Deleting all but one gpx-app make this last remaining app work fine to open the gpx files.

Every gpx-app I install from the store afterwards work well, too!

So, the problem are only apps installed before the iOS 13 update.


If there are older installations (other apps able to open gpx files), no matter how I define my .plist file, I cannot get it to work.

I have to delete all those other apps first.

I find the same: it is related to what other apps have registed the ability to read GPX files, and to the order in which they are installed.

Again, still not fixed in beta 4.

Looks like this is a big problem for many apps

My bug report for the issue says less than 10 people have reported it, so I am wondering if Apple do not actually realise how big the problem is because their systems are not correctly detecting that multiple reports are for the same bug. I guess it can be described in many ways.


Unfortunately iOS 13 is so buggy (the worst I can remember in over 10 years of iOS development) that bugs with so few reports are probably well down Apple's list of priorities.

Public iOS 13.1 seems to have the same problem to me. I added bug to Apple as well on this.

Hi there, managed to fix the problem for me.


Adding public.data value to the UTTypeConformsTo key did the trick.


<key>UTTypeConformsTo</key>

<array>

<string>public.data</string>

</array>

This works fine, when you install the app on iOS 13.


But when you do on iOS 12, then update iOS 13 it won't. I fear, even an update of an already installed app won't help.


As established earlier, this is only the case when other apps are present that support this file import, too.

I managed to get the app displayed in the share menu, but after I select that option, my app isn't opened nor it produces any error, I'm just redirected to the home screen.


This is even worse. 😠

That's right of course. You must provide an update that contains the key in the App's Info.plist. Any update is a new installation.


So what you mean is: if you install the update providing the key on iOS12 and do the upgrade to iOS13, it mechanism won't work either?

Weird...

No joy with 13.1.1

Same here, this is the situation:


Safari click on file (es. mail attachment):

IOS 12: straight to open file screen

IOS 13: downloads the file somewhere, interface is not clear, but when you figure out and find where to click you proceed to open file screen


Safari open file:

IOS 12: display screen with my custom UTI Type name and "open file with MyApp" button, on click opens the app correctly

IOS 13: display screen with the description of my custom UTI Type name, no buttons, look like it's broken. Need to look at the top for the share icon


Share dialog:

IOS 12: no problem

IOS 13: need to add (that i already had), i have a custom file, so no concurrent apps

<key>UTTypeConformsTo</key>

<array>

<string>public.data</string>

</array>


On "Copy to MyApp" click

IOS 12: Opens app at the proper screen with file loaded

IOS 13: Safari crashes, doesn't open the app, scroll to the frist ios screen



Looks like a fail on every side, how can this have been missed? or is there a documentation to apply the proper fixes?


The UX on IOS13 (even if it worked) is a 10 years step back in user experience on the import flow, i hope it's not intended.

I seem to have finally got it to work with iOS 13.1.1 by setting LSSupportsOpeningDocumentsInPlace to false - there's other apps installed on my device that can handle the same file but my app pops up in the share sheet and can open the file.

That didn't work for me. I already had it set to false.

The problem with knowing if any specific change fixes the problem is that just the act of installing can solve the problem. The order of installation/uninstallation seems to be a factor. I have had several users re-install other apps that register an interest in GPX files and suddenly my app appears on the share list, despite them having made no changes to it at all.


I have also had users for whom it was working with iOS 13.1 but then it broke when they installed iOS 13.1.1. It seems almost random but is triggered or fixed by the installation of a new iOS, or the install or uninstall of other apps that register interest in the same file type.


I am also now having problems with my workaround of showing a UIDocumentPickerViewController to allow files to be specifically imported. It seemed to work with iOS 13.0 (or at least no-one complained) but sometimes does not work since iOS 13.1 was released. Strangely it still does work for some users for whom the sharing mechanism is not working. So it helps some users but not others.


I had set the document type for this import controller to be kUTTypeXML but for some people this will not allow any files to be selected for the affected users. I will try making it kUTTypeData in the next version to see if that helps, although I would prefer not to make every data file selectable.

iPad Air 2 with iOS 13 does not show my apps in open-in list or AirDrop list


I've asked similar question and answered by myself so that please check the above thread.


I hope this may help you.

iOS 13.1.2 still no joy.

when will they fix this issue on iOS13? "Uninstalling all but one of the apps that can import GPX" works, but it is not elegant....

iPhone Beta13.2 - nope.

We are waiting on a response on this issue as we too import gpx and MBTile. Hopefully this gets resolved soon. From what we see it is totally random in that we can delete and reinstall the app and get different results. Sometimes we will show up as an import option, sometimes we won’t but if imported into Files first then sometimes we will show up in there and sometimes not. Only work around we found is to compress (.zip) the file then we show up and it can be imported. From the looks of it a fair number of gps apps are having this issue as I have them loaded and they no longer show up as an option. We’re not alone Apple. Kill this bug! Damian LEADNAV GPS

Hi Damian, Stan here, Speedometer 55 developer, you can try with my most recent pro version and if import works for you (sqlitedb, mbtiles, gpx) when Leadnav fails, I'll share my solution with you. Would hate to see this Apple's total failure as a competitive factor for some apps. Per response from Apple that I got for my bug report on this with providing a link to this thread, I'd say we might not be sure we will have it fixed soon. We need to fix it ourselves.

But even if we fix it ourselves, still the problem is that you can't export from your app to the affected apps while users are of course seeing this problem as your app's problem. But that's another side of this problem.

The problem is still present for me on iOS 13.1.2. My app has support for 5 different file types. Some work fine, others don't show up in the menu, even though all are specified in similar ways in the info.plist. For GPX files, if you open the file from Mail, then the app does not show up in the menu, but numerous other apps do. But if you transfer the file through AirDrop, then I don't get a menu at all. Instead, a popup comes up saying that "This file type needs an app from the App Store".


I have logged a bug report as well. I strongly suggest everybody to do so, to put pressure on Apple to fix this. This is a major, major bug which disables important functionality in apps.

App unable to import files in iOS13
 
 
Q