Enable File Sharing in your app to make it compatible with iMazing

Updated on Mar 26, 2026

Reading time ~4 minutes

As an iOS app developer, you can enhance your app's functionality by making it compatible with iMazing. This is a simple yet effective way to provide users with seamless file transfer capabilities in iMazing, Finder on macOS, iTunes or Apple Devices on Windows.


Here's how to enable File Sharing in your app and make it compatible with iMazing:

    Enabling file sharing

    To make your app compatible with iMazing and enable File Sharing, you need to set to YES the UIFileSharingEnabled property in your app's Information Property List file (Info.plist). This is a simple yet effective way to provide users with seamless file transfer capabilities.

    How to enable file sharing

    1. Open your app's Info.plist file in your code editor.
    2. Add a new key called UIFileSharingEnabled (or "Application supports iTunes file sharing").
    3. Set its value to YES (boolean value).

    Note: For a full reference on UIFileSharingEnabled, see Apple’s documentation.

    Set Up Quick Transfer Compatibility (UTIs)

    iMazing’s Quick Transfer feature suggests target apps based on the file types each app declares in its iOS bundle metadata. Specifically, iMazing reads your app’s Info.plist CFBundleDocumentTypes entries (including LSItemContentTypes and CFBundleTypeExtensions) to determine which document types your app can open or edit, and uses that information on the computer to decide whether your app should be offered as a destination for a given file.

    iOS represents file types using Uniform Type Identifiers (UTIs) (for example public.jpeg, com.adobe.pdf). iMazing checks the UTIs your app declares to decide whether it can receive a given file type.

    How to declare supported UTIs in your app

    Open Info.plist

    Open your app's Info.plist file in your code editor.

    Declare the document types your app can open or edit

    Add a CFBundleDocumentTypes key with the following structure:

    • Type: Array (each item is a Dictionary)
    • For each document type, set:
      • CFBundleTypeName (a human-readable name)
      • LSItemContentTypes (an array of UTIs your app supports, e.g. public.jpeg, com.adobe.pdf)
        or
      • CFBundleTypeExtensions (an array of filename extensions your app supports, like pdf or jpg, used when you do not want to specify UTIs in LSItemContentTypes)
    <key>CFBundleDocumentTypes</key>
    <array>
      <dict>
        <key>CFBundleTypeName</key>
        <string>PDF</string>
        <key>LSItemContentTypes</key>
        <array>
          <string>com.adobe.pdf</string>
        </array>
        <key>CFBundleTypeRole</key>
        <string>Viewer</string>
      </dict>
    </array>

    Note: If you don’t use CFBundleDocumentTypes key, iMazing Quick Transfer can also read from UTImportedTypeDeclarations key to get the relevant information.

    Declare custom file formats (if applicable)

    If your app defines custom formats, use the UTExportedTypeDeclarations key to export them.

    • Type: Array
    • Each item is a Dictionary describing one file type, using keys such as UTTypeIdentifier, UTTypeDescription, UTTypeConformsTo, and UTTypeTagSpecification.

    Benefit: if your app creates its own document format (custom extension), exporting the type helps iOS and other apps recognize it, and helps iMazing Quick Transfer match those files to your app.

    <key>UTExportedTypeDeclarations</key>
    <array>
    	<dict>
    		<key>UTTypeIdentifier</key>
    		<string>com.example.myapp.document</string>
    		<key>UTTypeConformsTo</key>
    		<array>
    			<string>public.data</string>
    		</array>
    		<key>UTTypeDescription</key>
    		<string>MyApp Document</string>
    		<key>UTTypeTagSpecification</key>
    		<dict>
    			<key>public.filename-extension</key>
    			<array>
    				<string>mydoc</string>
    			</array>
    			<key>public.mime-type</key>
    			<string>application/x-myapp-document</string>
    		</dict>
    	</dict>
    </array>

    Note: iMazing uses CFBundleDocumentTypes, UTImportedTypeDeclarations, and UTExportedTypeDeclarations to match file types to your app.

    Test the Behaviour with iMazing

    Build and run your app, then verify it appears as a destination in iMazing Quick Transfer for the relevant file types.

    Note: For a full reference on how to define the file and data types your app supports (UTIs), see Apple’s documentation: Defining file and data types for your app.

    Benefits for your users

    By enabling File Sharing and specifying the supported files with UTI keys your users can:

    • Transfer files between their iOS device and computer using iMazing when file sharing is enabled (apps can be added as shortcuts in iMazing's main window for quick access).
    • Drag and drop files and folders directly to your app with the iMazing Quick Transfer feature.
    • Access the app's sandboxed Documents folder to browse and organize files and folders.
    • Enable fast file transfers to your app via USB or the local Wi-Fi network, more reliable than iCloud.

    Tip: For iPhone 15 Pro and later Pro models, file transfers can be even faster when using appropriate USB-C cables. Learn more: https://imazing.com/blog/iphone15-ios17

    Additional considerations

    When implementing file sharing, keep in mind:

    • Only files in your app's Documents folder will be accessible to users.
    • Ensure sensitive data is properly secured and not exposed through file sharing.
    • Test the file transfer functionality thoroughly with iMazing before releasing your update.

    By making your app compatible with iMazing, you're providing your users with more flexibility and control over their data, which can significantly improve their overall experience with your app.

    Guides

    Support Center - Guides