尝试注册我的 Xamarin.iOS 应用以在打开或点击自定义文档扩展时启动

问题描述

尝试实现与共享的 Excel 页面或共享的 Word 文档相同的功能会打开 Excel 或 Word 应用程序。

我有一个自定义扩展名为 .DLMSFT 和 .dlmsft 的文档。它们都在我的应用的文档类型导出类型标识符导入类型标识符

注册

见下面的plist:

<key>CFBundleDocumentTypes</key>
    <array>
        <dict>
            <key>CFBundleTypeName</key>
            <string>Routes</string>
            <key>CFBundleTypeRole</key>
            <string>Editor</string>
            <key>LSHandlerRank</key>
            <string>Owner</string>
            <key>LSItemContentTypes</key>
            <array>
                <string>com.Routes</string>
            </array>
        </dict>
    </array>

<key>UTExportedTypeDeclarations</key>
    <array>
        <dict>
            <key>UTTypeConformsTo</key>
            <array>
                <string>public.data</string>
            </array>
            <key>UTTypeDescription</key>
            <string>Routes</string>
            <key>UTTypeIconFiles</key>
            <array/>
            <key>UTTypeIdentifier</key>
            <string>com.Routes</string>
            <key>UTTypeTagSpecification</key>
            <dict>
                <key>public.filename-extension</key>
                <array>
                    <string>dlmsft</string>
                    <string>DLMSFT</string>
                </array>
            </dict>
        </dict>
    </array>

    <key>UTImportedTypeDeclarations</key>
    <array>
        <dict>
            <key>UTTypeConformsTo</key>
            <array>
                <string>public.data</string>
            </array>
            <key>UTTypeDescription</key>
            <string>Routes</string>
            <key>UTTypeIconFiles</key>
            <array/>
            <key>UTTypeIdentifier</key>
            <string>com.Routes</string>
            <key>UTTypeTagSpecification</key>
            <dict>
                <key>public.filename-extension</key>
                <array>
                    <string>dlmsft</string>
                    <string>DLMSFT</string>
                </array>
            </dict>
        </dict>
    </array>

预期输出 - 通过 iOS 共享表分享团队SlackOutlook,当接收用户打开文件时,它会自动打开应用如果他们安装了它。

当前输出 - 我可以将文件共享到所有可用的应用程序,包括邮件和 Outlook,但是当我共享到 MS Teams 并且接收端的用户打开它时,应用程序没有启动并且相反,他们收到一条错误消息,指出“团队无法打开文件,因为它不受支持”。 Outlook 中也会发生同样的情况。 iOS 邮件应用是唯一一款甚至允许您选择打开文件的应用。

下面的更多上下文是使用共享表共享文档的代码

public static async void ShareRoute(Route route)
        {
            var routeTitle = $"{route.Start.Name}-To-{route.Destination.Name}.DLMSFT";

            var fn = routeTitle;
            var file = Path.Combine(FileSystem.CacheDirectory,fn);
            File.WriteallText(file,SerializeRoute(route));

            await Share.RequestAsync(new ShareFileRequest
            {
                Title = routeTitle,File = new ShareFile(file)
            });
        }

我觉得我读了一个一个的文档,我也认为我遵循了所有正确的步骤。不知道我错过了什么。希望有人能伸出援助之手。谢谢大家!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)