如何使用 Xcode 11 配置 UTI 部分中的.app文件?



我正在开发一个应用程序,在某些时候我需要一次导入几种不同类型的二进制和 ascii 文件,具有不同的扩展名,例如 .bin、.app、.crc 等。

为了实现这一点,我在项目目标、信息部分、文档类型和导入的 UTI 中准备了。

在 Xcode 10 之前,一切正常,但现在我正在使用 Xcode 11 Beta 6 测试该应用程序,我注意到导入适用于我所有处理的文件扩展名,除了.app文件。

基本上,当我从一个电子邮件附件或一个 Files 文件夹中获取任何.app文件,并尝试将其导出以将其导入一个应用程序时,我的应用程序不再显示在支持此类文件的应用程序中。

在信息部分,我使用了以下条目(用于.app文件(:

Document Types:
My App Data Files
Name: My App Data Files
Types: public.data
Additional document type properties:
LSHandlerRank (String) -> Alternate

Imported UTIs:
My App Application File:
Description: My App Application File
Identifier: com.mydomain.app
Conform To: public.data
Additional imported UTI properties:
UTTypeTageSpecification (Dictionary) ->
Item 0 (String) -> app
Item1 (String) -> APP

这在Xcode 10上工作正常,在Xcode 11上不再工作。

我分析了 Apple 的统一类型标识符参考列表,并注意到对于.app文件,建议您使用以下值之一来表示"符合":

  • com.apple.package
  • com.apple.bundle
  • 苹果应用软件

并将此值作为标识符:

  • com.apple.application-bundle

我尝试相应地修改值,但没有任何变化,并且我的应用程序没有"看到".app文件类型,但我看到其他应用程序支持此功能,因此即使使用 iOS 13(我使用的是最新的 Beta 版本:13.1(。

更新:

从Apple,通过反馈助手,我得到了以下答案:"扩展名为.app的常规文件(不是软件包(的UTI是'com.apple.application-file'"。但不幸的是,我仍然无法让它工作。我使用了以下配置:

DOCUMENT TYPE:
Name —> My App Application File
Types —> com.apple.application-file
Additional document type properties:
CFBundleTypeRole —> Editor
LFHandlerRank —> Alternate
IMPORTED UTI:
Description —> My App Application File
Identifier —> com.apple.application-file
Conform To —> public.data
Additional imported UTI properties:
UTTypeTagSpecification:
Item 0 —> app
Item 1 —> APP

关于配置中可能出现什么错误的任何想法?

我遇到了同样的问题,但我解决了更改的问题 ImportUTI: Concomply To —> public.data
,因为在我的例子中,值是不同的

也许有帮助

在这里,您将找到info.plist相关部分:

<key>UTImportedTypeDeclarations</key>
<array>
<dict>
<key>UTTypeConformsTo</key>
<array>
<string>public.data</string>
</array>
<key>UTTypeDescription</key>
<string>  myAppName </string>
<key>UTTypeIconFiles</key>
<array>
<string>xxx_Icon60.png</string>
</array>
<key>UTTypeIdentifier</key>
<string>.. My Bundle identifier ...</string>
<key>UTTypeTagSpecification</key>
<dict>
<key>public.filename-extension</key>
<array>
<string>gkc</string>
<string>GKC</string>
</array>
</dict>
</dict>
</array>

最新更新