尝试实现与共享的 Excel 页面或共享的 Word 文档相同的功能会打开 Excel 或 Word 应用程序。
我有一个自定义扩展名为 .DLMSFT 和 .dlmsft 的文档。它们都在我的应用程序的Document type、Exported Type Identifiers和Imported Type Identifiers中注册
请参阅下面的列表:
<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 共享表共享到Teams、Slack或Outlook等内容,当接收用户打开文件时,如果他们安装了应用程序,它将自动打开应用程序。
当前输出- 我可以将文件共享到所有可用的应用程序,包括邮件和 Outlook,但是当我共享到 MS Teams 并且接收端的用户打开它时,应用程序没有启动,而是收到一条错误消息,显示“Teams 不能以不受支持的方式打开文件”。在 Outlook 中也会发生同样的情况。iOS Mail 应用程序是唯一一个甚至允许您选择应用程序来打开文件的应用程序。
下面的更多上下文是使用共享表共享文档的代码:
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)
});
}
我觉得我一个接一个地阅读了一个又一个文档,我也认为我正在遵循所有正确的步骤。不知道我错过了什么。希望有人可以伸出援助之手。谢谢大家!