Search code examples
xcode4ios5uti

How do i associate excel file type (xlsx) with iPhone application


Hi
i have managed to open .xls files form mail app by adding document type to the project build and set the Types field to "com.microsoft.excel.xls" (see screen shot).
I want to do the same with xlsx files but can't do it. I tried to add "com.microsoft.excel.xlsx" but it didn't work

enter image description here


Solution

  • I solved that by defining custom UTI as follows. Try to add these definitions into your info.plist. It works as expected.

    <key>UTExportedTypeDeclarations</key>
    <array>
        <dict>
            <key>UTTypeDescription</key>
            <string>XLSX input table document</string>
            <key>UTTypeTagSpecification</key>
            <dict>
                <key>public.filename-extension</key>
                <string>xlsx</string>
                <key>public.mime-type</key>
                <string>application/vnd.openxmlformats-officedocument.spreadsheetml.sheet</string>
            </dict>
            <key>UTTypeConformsTo</key>
            <array>
                <string>public.data</string>
            </array>
            <key>UTTypeIdentifier</key>
            <string>com.mydomain.myapplication.xlsx</string>
        </dict>
    </array>
    

    ....

    <key>CFBundleDocumentTypes</key>
    <array>
    
        <dict>
            <key>CFBundleTypeName</key>
            <string>XLSX input table document</string>
            <key>LSHandlerRank</key>
            <string>Owner</string>
            <key>CFBundleTypeRole</key>
            <string>Editor</string>
            <key>LSItemContentTypes</key>
            <array>
                <string>com.mydomain.myapplication.xlsx</string>
            </array>
        </dict>
    </array>