应用程序在“打开...”菜单中显示为“复制到MyApp”

时间:2015-11-04 08:48:59

标签: ios cocoa cfbundledocumenttypes

最近,当我打开自定义邮件附件时,我正在“打开...”菜单中显示我的应用程序(假设文件扩展名为xyz,我已声明自定义mime-type {{ 1}})。我在本网站上关注了指南:

https://developer.apple.com/library/ios/qa/qa1587/_index.html

当我点击相应的附件时,我的应用程序现在显示在所有其他应用程序之间。问题出在我的应用程序的描述中。它不是仅显示其名称(application/xyz),而是显示为MyApp。 有没有办法让我的应用说明不包含Copy to MyApp  字?

更新,这是我的应用信息屏幕: enter image description here

enter image description here

5 个答案:

答案 0 :(得分:2)

您的应用将始终使用此方法和“打开方式...”显示“复制到”。调整设置不会改变这一点。

您要做的是创建共享扩展。 Apple已详细记录了这些步骤。例如,请参阅:https://developer.apple.com/library/content/documentation/General/Conceptual/ExtensibilityPG/

共享扩展程序会更改应用程序交互的性质。您可以创建一个共享扩展程序来处理(可能是几个文件),而不是在应用程序委托中响应openURL。

答案 1 :(得分:1)

确保将LSHandlerRank中的.plist设置为Owner

Owner表示您的是创建和打开此类文件的本机应用程序。

<强>更新 尝试将CFBundleTypeRole设置为Viewer

  

[...]&#34;观众&#34;文档类型的作用,[...]表示您的应用程序可以打开和读取特定的文件格式,但不能以此文件格式保存。 Post on MacOSX Guru Site

我可以想象你不允许编辑附加到电子邮件的实际文件。

答案 2 :(得分:1)

CFBundleTypeRole不适用于iOS。菜单名称仅取决于LSHandlerRank。

这是我测试的结果。

Owner: Copy to [MyApp]
Alternate, Default: Import with [MyApp]
None: No appearance
(tested in iOS 10.3.1)

更多用法详见CoreFoundationKeys参考。

https://developer.apple.com/library/content/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html#//apple_ref/doc/uid/20001431-101685

如果您想使用自定义菜单名称,可以使用Share扩展程序实现此目的,如@Dale所说。

答案 3 :(得分:1)

我知道这是一个很老的问题,但是如果您在Info.plist中将LSSupportsOpeningDocumentsInPlace设置为true,然后正确处理该结果,则只要源应用程序支持此功能。

查看此处:

https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/LaunchServicesKeys.html#//apple_ref/doc/uid/TP40009250-SW13

在这里:

https://developer.apple.com/documentation/uikit/uiapplicationopenurloptionsopeninplacekey

在这里:

https://developer.apple.com/documentation/foundation/nsurl/1417051-startaccessingsecurityscopedreso

更新

请注意,当我从iOS Files应用程序内部浏览文件类型的文件时,会看到“打开位置”。在Dropbox中,我看到“复制到”。我假设“文件”应用设置了一些在显示“打开位置”工作表时Dropbox不会设置的设置。设置此设置后,您是否尝试过从“文件”应用中打开一个文件?

答案 4 :(得分:0)

您只需在 info.plist 文件中添加以下行即可解决此问题。

 Supports opening documents in place : YES

enter image description here