问题描述
尝试实现与共享的 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 共享表分享给团队或Slack 或 Outlook,当接收用户打开文件时,它会自动打开应用如果他们安装了它。
当前输出 - 我可以将文件共享到所有可用的应用程序,包括邮件和 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 (将#修改为@)