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?

  • I want the experience.

Add a Comment

Replies

Meta question: are you submitting your reports to the "Feedback Assistant"? Is the "FB"-prefixed ID supposed to be the radar ID? I still see looong IDs in openradar.

You know what? UIDocumentPickerViewController exhibits the very same behavior. All .ovpn files are disabled as long as OpenVPN Connect is installed together with my own app, which handles the same file extension. ****.

I submitted my bug report using Feedback Assistant, although I haven't been able to login to it for several days. It always seems to be down at the moment. I wonder if that is why the iOS 13 beta is so bug-ridden: because the tool for reporting bugs is rarely working.


It is strange that such an obvious bug that was reported back in June hasn't been fixed in September, but maybe it isn't so obvious to Apple engineers. It seems to depend on what other apps are installed and they may do their testing on "clean" devices without other apps.

So, I had to resort to the following to be 100% sure that users have a way to open their files:


<key>CFBundleDocumentTypes</key>
<array>
    <dict>
        <key>CFBundleTypeName</key>
        <string>All files</string>
        <key>LSItemContentTypes</key>
        <array>
            <string>public.content</string>
            <string>public.data</string>
        </array>
        <key>LSHandlerRank</key>
            <string>Alternate</string>
            <key>CFBundleTypeRole</key>
        <string>Viewer</string>
    </dict>
</array>

I also dropped any Imported/Exported UTIs (unused in this scenario). Interestingly, I'm unable to open .ovpn files (which are plain text) with public.text or public.plain-text.


Granted, it's bruteforce-like, but it's the only way I had my app appear consistently. The obvious downside is that the app is virtually able to open all files, but compared to a crippling bug it feels like minor cosmetics. Import would eventually fail so I don't really care much.


Hope this can help other developers.


Cheers

I just got an email from Apple saying that the issue is fixed in iOS13.1 beta 2, which is great but it sounds like it will be an issue for users using iOS 13. It will be interesting to see how soon after the iPhones are available that 13.1 will be available. Hopefully very soon if not immediately!


"As a result of your feedback, there are software changes in build 17A5831c that have resolved this issue. Has this issue been fixed for you?"

My app still does not show up in the Share list in 13.1 Beta 2 😟

I have heard the same from some testers so it looks like it isn't fixed. Unfortunately Feedback Assistant is constantly down so I cannot tell them!

Does not seem to be fixed in beta 3

confirmed still not fixed in 13.1 beta 3. I've submitted feedback indicating that this is SHOWSTOPPER bug!


Also, it does not require another app to be registered for same UTI.


Interestingly, PDF files now seem to work. I get a list of PDF apps when I try to open a PDF attachment. Even AirDrop works with PDFs. Not with my files nor some others I've tried.

Same here. Perhaps helpful: I have a ton of apps installed being able to handle GPX files, but none shows up via 'copy to'.

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.