如何让 iOS UIActivityViewController 为本地 KML 文件显示 "Open in Google Earth"?

How make iOS UIActivityViewController show "Open in Google Earth" for local KML file?

使用 iOS 邮件应用程序:

  1. 我可以在 iOS 邮件应用程序中 select KML 电子邮件附件。
  2. 出现 AirDrop 页面时,在 Google 地球中打开 是选择之一。

如何使我的应用程序与 iOS 邮件应用程序一样工作?

当我使用 UIActivityViewController 并为本地 KML 文件创建一个 NSURL 时,AirDrop 页面出现并显示 Mail、Facebook、Gmail,但是 NOT "Open in Google Earth" ?

NSURL* urlToLocalKmlFile=[NSURL fileURLWithPath:localKmlFilePath];
NSArray *objectsToShare = @[urlToLocalKmlFile];
activityViewController = [[UIActivityViewController alloc]
initWithActivityItems:objectsToShare
applicationActivities:nil];

iOS Mail 如何与 Goggle Earth 共享 KML 文件附件或与 Adob​​e Acrobat 共享 PDF 文件附件?

提前感谢您的任何提示或建议, -埃德

你应该看看 Apple UIDocumentInteractionController 的文档。

我已经试过了,当您使用该控制器时,会出现 在 GoogleEarth 中打开 选项。例如,在视图控制器中通过按钮(称为 button)为名为 url 的路径呈现它:

UIDocumentInteractionController *interactionController = [UIDocumentInteractionController interactionControllerWithURL:url];
[interactionController presentOpenInMenuFromRect:button.frame inView:self.view animated:YES];