Flutter ios接受相册分享的图片进入app

使用的库 flutter_sharing_intent: ^1.1.1
安卓端实现比较简单,ios就比较麻烦,尤其是对于我这种没有ios开发经验的人来说,一切都是陌生的,实现起来比较吃力
在24年9月份就尝试在ios上集成,没有成功
今年再次尝试了一下,居然可以了,把过程记录一下

  1. Add the following
    ios/Runner/info.plist
<key>AppGroupId</key>
<!--HERE set your group Id-->
<string>$(CUSTOM_GROUP_ID)</string> 
<key>CFBundleURLTypes</key>
    <array>
        <dict>
            <key>CFBundleTypeRole</key>
            <string>Editor</string>
            <key>CFBundleURLSchemes</key>
            <array>
                <string>SharingMedia-$(PRODUCT_BUNDLE_IDENTIFIER)</string>
            </array>
        </dict>
    </array>

<key>NSPhotoLibraryUsageDescription</key>
<string>To upload photos, please allow permission to access your photo library.</string>

第一步,有一个变量$(CUSTOM_GROUP_ID),我感觉这里其实不重要,因为我实现的时候,这里是直接复制的,啥都没有改。
但是如果你想填也没有问题,具体填什么,后面再说。

  1. Create Share Extension
    Using xcode, go to File/New/Target and Choose "Share Extension"
    Give it a name i.e. "Share Extension"


    image.png

    image.png

    image.png

    image.png

接下来比较重要的第一步,添加App groups

注意,这里Runner和ff-share都需要添加相同标识App groups,你创建的App groups id就可以填写到第一步的$(CUSTOM_GROUP_ID)上了


image.png

image.png

弄好这一步就可以,切换到ff-share来运行调试了


image.png

第一次运行就有个报错
image.png

这个报错也折腾了好一会,解决办法
image.png

好了,可以运行了,我选择手机自带的浏览器来测试


image.png

手机浏览器启动之后,点击这个分享就可以看到我们app图标了
image.png

到这里基本就完成了。
还要添加三个文件
ios/Share Extension/ShareViewController.swift
ios/Share Extension/SharingFile.swift
ios/Share Extension/SharingFileType.swift
image.png

image.png

image.png

把官网提供的三个文件逐一拷贝即可
到这里基本大功告成了

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容