xcode 注册在自己的iOS-App中打开的新扩展

unguejic  于 2023-01-14  发布在  iOS
关注(0)|答案(1)|浏览(133)

我创建了自己的文件类型“dmate”。假设我将一个.dmate文件导出到iPhones Files。当单击该文件时,它看起来像这样-显示JSON内容:

现在我可以点击分享按钮,并在我的应用程序DietMate中打开文件-它工作正常:

问题:我不希望用户看到JSON文本,但希望Files-App和WhatsApp等在我的应用程序中立即打开文件,而不进行预览。
下面是我的www.example.com的相关部分plist.info

<key>CFBundleDocumentTypes</key>
    <array>
        <dict>
            <key>CFBundleTypeName</key>
            <string>Food</string>
            <key>CFBundleTypeIconFiles</key>
        <array>
            <string>dmate.ft.png</string>
            <string>dmate.ft.png</string>
        </array>
            <key>CFBundleTypeRole</key>
            <string>Viewer</string>
            <key>LSHandlerRank</key>
            <string>Owner</string>
            <key>LSItemContentTypes</key>
            <array>
                <string>de.example.app.food.dmate</string>
            </array>
        </dict>
    </array>
    
    <key>UTExportedTypeDeclarations</key>
    <array>
        <dict>
            <key>UTTypeConformsTo</key>
            <array>
                <string>public.json</string>
            </array>
            <key>UTTypeDescription</key>
            <string>Food</string>
            <key>UTTypeIdentifier</key>
            <string>de.example.app.food.dmate</string>
            <key>UTTypeTagSpecification</key>
            <dict>
                <key>public.filename-extension</key>
                <string>dmate</string>
                <key>public.mime-type</key>
                <string>food/x-dmate</string>
            </dict>
        </dict>
    </array>

有人知道,如何打开我的自定义文件类型在我自己的应用程序?

kxxlusnw

kxxlusnw1#

如果您希望在“文件”应用中点击文件后立即启动应用,请尝试将此键值对添加到Info.plist

<key>LSSupportsOpeningDocumentsInPlace</key>
<true/>

你可以尝试的另一件事是将“Conforms To”设置为public.data而不是public.json。这意味着系统将不再假设你的数据是JSON,并希望停止以这种方式显示它。这可能会对支持哪些共享通道产生一些影响,我还没有完全理解这一点。

相关问题