如何让我的 SwiftUI 应用程序显示在 IOS 照片共享表上?

Hri*_*ury 6 ios cfbundledocumenttypes ios-sharesheet swiftui

我试图让我的 SwiftUI 应用程序列在 IOS 照片库的共享表上,以便用户可以直接使用此图像打开应用程序。

示例:Facebook、WhatsApp 和 Instagram 等应用程序确实出现在共享表上,我希望我的应用程序也出现在该列表中。

从“文件”打开时,我成功地在图像的共享表上显示了我的应用程序,但无法在照片库上工作。

我已在应用程序的 Info.plist 中添加了这些代码行

    <key>CFBundleDocumentTypes</key>
    <array>
        <dict>
            <key>CFBundleTypeExtensions</key>
            <array>
                <string>myapp image</string>
            </array>
            <key>CFBundleTypeName</key>
            <string>imageData</string>
            <key>CFBundleTypeRole</key>
            <string>Editor</string>
            <key>LSHandlerRank</key>
            <string>Alternate</string>
            <key>LSItemContentTypes</key>
            <array>
                <string>public.png</string>
                <string>public.jpeg</string>
                <string>public.heic</string>
            </array>
        </dict>
    </array>


<key>UTImportedTypeDeclarations</key>
    <array>
        <dict>
            <key>UTTypeConformsTo</key>
            <array>
                <string>public.image</string>
            </array>
            <key>UTTypeDescription</key>
            <string>PNG image</string>
            <key>UTTypeIconFiles</key>
            <array/>
            <key>UTTypeIdentifier</key>
            <string>public.png</string>
            <key>UTTypeTagSpecification</key>
            <dict>
                <key>public.filename-extension</key>
                <array>
                    <string>png</string>
                </array>
            </dict>
        </dict>
        <dict>
            <key>UTTypeConformsTo</key>
            <array>
                <string>public.image</string>
                <string>public.data</string>
            </array>
            <key>UTTypeDescription</key>
            <string>JPEG image</string>
            <key>UTTypeIconFile</key>
            <string>public.jpeg.icns</string>
            <key>UTTypeIconFiles</key>
            <array/>
            <key>UTTypeIdentifier</key>
            <string>public.jpeg</string>
            <key>UTTypeTagSpecification</key>
            <dict>
                <key>public.filename-extension</key>
                <array>
                    <string>jpeg</string>
                    <string>jpg</string>
                </array>
            </dict>
        </dict>
        <dict>
            <key>UTTypeConformsTo</key>
            <array>
                <string>public.image</string>
                <string>public.data</string>
            </array>
            <key>UTTypeDescription</key>
            <string>HEIC image</string>
            <key>UTTypeIconFiles</key>
            <array/>
            <key>UTTypeIdentifier</key>
            <string>public.heif-standard</string>
            <key>UTTypeTagSpecification</key>
            <dict>
                <key>public.filename-extension</key>
                <array>
                    <string>heic</string>
                </array>
            </dict>
        </dict>
    </array>

Run Code Online (Sandbox Code Playgroud)

Ori*_*Ori 2

概述

\n

使用 iOS共享表,用户在共享链接、图像、视频或文件等内容时可以从建议列表立即启动您的消息应用程序。共享表建议与用户经常交互的应用程序中的人员进行对话,并根据用户\xe2\x80\x99最喜欢的应用程序和对话随着时间的推移更新其建议。当用户在 iOS 16 或更高版本中共享图像时,共享表会优先考虑与其在图像中识别的人员进行对话。

\n

如何实施:

\n

您的应用\xe2\x80\x99s 共享扩展中的支持建议

\n

祝你好运!

\n