我创建了我的应用程序独有的新文件类型。出于共享、备份等目的,用户现在可以将此类文件保存到 iCloud Drive 上应用程序自己的文件夹中。此功能现已在应用商店上线,并且适用于一个奇怪的例外。
如果我在 iCloud Drive 中除应用程序自己的文件夹之外的任何位置点击我的新文件类型,我的应用程序会显示为“复制到...”中的一个选项,我希望它只是打开它,这可能是问题的一部分。
如果我点击它自己文件夹中的文件,则应用程序未列在“复制到...”中。
如果我将文件添加到网站,它也可以从那里很好地打开它。
它可以在自己的文件夹中创建新文件没问题。
我错过了什么?
<key>CFBundleDocumentTypes</key>
<array>
<dict>
<key>CFBundleTypeIconFiles</key>
<array>
<string>CSL-icon-64x64.png</string>
<string>CSL-icon-44x58.png</string>
<string>CSL-icon-22x29.png</string>
<string>CSL-icon-320x320.png</string>
</array>
<key>CFBundleTypeName</key>
<string>CSL File Type</string>
<key>CFBundleTypeRole</key>
<string>Editor</string>
<key>LSHandlerRank</key>
<string>Owner</string>
<key>LSItemContentTypes</key>
<array>
<string>com.mydomain.csl</string>
</array>
</dict>
</array>
<key>UTExportedTypeDeclarations</key>
<array>
<dict>
<key>UTTypeConformsTo</key>
<array>
<string>public.data</string>
</array>
<key>UTTypeDescription</key>
<string>CSL File Type</string>
<key>UTTypeIdentifier</key>
<string>com.mydomain.csl</string>
<key>UTTypeSize320IconFile</key>
<string>CSL-icon-320x320</string>
<key>UTTypeSize64IconFile</key>
<string>CSL-icon-64x64</string>
<key>UTTypeTagSpecification</key>
<dict>
<key>public.filename-extension</key>
<array>
<string>csl</string>
</array>
<key>public.mime-type</key>
<string>application/something</string>
</dict>
</dict>
</array>
<key>UTImportedTypeDeclarations</key>
<array>
<dict>
<key>UTTypeConformsTo</key>
<array>
<string>public.data</string>
</array>
<key>UTTypeDescription</key>
<string>CSL File Type</string>
<key>UTTypeIdentifier</key>
<string>com.mydomain.csl</string>
<key>UTTypeSize320IconFile</key>
<string>CSL-icon-320x320</string>
<key>UTTypeSize64IconFile</key>
<string>CSL-icon-64x64</string>
<key>UTTypeTagSpecification</key>
<dict>
<key>public.filename-extension</key>
<array>
<string>csl</string>
</array>
<key>public.mime-type</key>
<string>application/something</string>
</dict>
</dict>
</array>
<key>NSUbiquitousContainers</key>
<dict>
<key>iCloud.com.mydomain.myapp</key>
<dict>
<key>NSUbiquitousContainerIsDocumentScopePublic</key>
<true/>
<key>NSUbiquitousContainerName</key>
<string>SomeDirName</string>
<key>NSUbiquitousContainerSupportedFolderLevels</key>
<string>Any</string>
</dict>
</dict>
这是从我的应用程序的 info.plist 文件中获取的元数据的匿名版本,而不是精确副本。