如何使我的应用程序显示在ios13中plist文件的“打开”菜单中?

问题描述 投票:2回答:1

我已更新到iOS 13,现在我的应用程序将不再显示在新的“打开方式...”对话框中。如果打开的文件是.plist文件,我以前曾做过以下事情来使我的应用程序出现在这里:

  1. 我像下面的屏幕截图一样编辑了Info.plist。
  2. 在我使用的AppDelegate中
func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey : Any] = [:]) -> Bool {}

处理给定文件。

任何想法,有什么可以更改的,或者我可能不小心更改的,以致不再起作用?据我所知,我正确地遵循了Apple提供的steps

编辑:可能是因为他们更改了某些内容,所以我必须做一些不同的事情,因为.plist可能是已知的文件类型,而不是自定义的文件类型?

编辑2:我发现,如果我将“ plist”更改为其他名称,它将起作用。我尝试将其替换为“ test”,然后将名为“ abc.test”的文件发送到手机,并显示了我的应用程序将其打开。

编辑3:在XML中看起来像这样:

<key>CFBundleDocumentTypes</key>
    <array>
        <dict>
            <key>CFBundleTypeIconFiles</key>
            <array/>
            <key>CFBundleTypeName</key>
            <string>Plist File</string>
            <key>CFBundleTypeRole</key>
            <string>Editor</string>
            <key>LSHandlerRank</key>
            <string>Owner</string>
            <key>LSItemContentTypes</key>
            <array>
                <string>rtm.plist</string>
            </array>
        </dict>
    </array>

<key>UTExportedTypeDeclarations</key>
    <array>
        <dict>
            <key>UTTypeConformsTo</key>
            <array>
                <string>public.data</string>
            </array>
            <key>UTTypeDescription</key>
            <string>Plist File</string>
            <key>UTTypeIconFiles</key>
            <array/>
            <key>UTTypeIdentifier</key>
            <string>rtm.plist</string>
            <key>UTTypeTagSpecification</key>
            <dict>
                <key>public.filename-extension</key>
                <array>
                    <string>plist</string>
                </array>
            </dict>
        </dict>
    </array>

编辑4:如果我只是将“ public.data”作为文档类型,则显示我的应用程序,并且我的代码有效。但我只希望将其显示在plist文件中。

编辑5:我删除了所有文档类型和UTI,只是添加了“ public.plist”作为文档类型,现在可以使用了。似乎您不能再将自己的UTI与常见文件类型一起使用。

enter image description here

ios swift xcode ios13 openurl
1个回答
0
投票

遇到同一问题。

就我而言,解决方法是->将public.item更改为public.data

并且我的应用神奇地重新出现在打开菜单中。

© www.soinside.com 2019 - 2024. All rights reserved.