Hi, I am working on an iOS app that has a custom document type that can be shared with other devices through Airdrop, iMessages, etc. The app should appear in the "Open In..." menu upon receiving the file however, currently it gets directed straight to the files app. I got this feature to work in a previous iteration of the app in iOS 16 but it no longer works with iOS 17. The feature is also broken with the previous iteration in iOS 17. I have defined the custom document type under both Documents Type and Exported Type Identifiers. I have attached a copy of the info.plist below. My question is how can you make your app appear under the list of apps shown in the "Open In..." menu that appears when receiving files for a custom file type.
<plist version="1.0">
<dict>
<key>CFBundleDocumentTypes</key>
<array>
<dict>
<key>CFBundleTypeIconSystemGenerated</key>
<integer>1</integer>
<key>CFBundleTypeName</key>
<string>RecordingList</string>
<key>CFBundleTypeRole</key>
<string>Editor</string>
<key>LSHandlerRank</key>
<string>Owner</string>
<key>LSItemContentTypes</key>
<array>
<string>com.nikodittmar.MyRaceTimer.recordinglist</string>
</array>
</dict>
</array>
<key>UTExportedTypeDeclarations</key>
<array>
<dict>
<key>UTTypeConformsTo</key>
<array>
<string>public.data</string>
</array>
<key>UTTypeDescription</key>
<string>RecordingList</string>
<key>UTTypeIcons</key>
<dict/>
<key>UTTypeIdentifier</key>
<string>com.nikodittmar.MyRaceTimer.recordinglist</string>
<key>UTTypeTagSpecification</key>
<dict>
<key>public.filename-extension</key>
<array>
<string>recordinglist</string>
</array>
</dict>
</dict>
</array>
<key>UTImportedTypeDeclarations</key>
<array>
<dict>
<key>UTTypeConformsTo</key>
<array>
<string>public.plain-text</string>
</array>
<key>UTTypeDescription</key>
<string>CSV</string>
<key>UTTypeIcons</key>
<dict/>
<key>UTTypeIdentifier</key>
<string>public.comma-separated-values-text</string>
<key>UTTypeTagSpecification</key>
<dict>
<key>public.filename-extension</key>
<array>
<string>csv</string>
</array>
<key>public.mime-type</key>
<array>
<string>text/csv</string>
</array>
</dict>
</dict>
</array>
</dict>
</plist>
import UniformTypeIdentifiers
extension UTType {
static var recordingList: UTType { UTType(exportedAs: "com.nikodittmar.MyRaceTimer.recordinglist") }
}
Thanks.