使用的库 flutter_sharing_intent: ^1.1.1
安卓端实现比较简单,ios就比较麻烦,尤其是对于我这种没有ios开发经验的人来说,一切都是陌生的,实现起来比较吃力
在24年9月份就尝试在ios上集成,没有成功
今年再次尝试了一下,居然可以了,把过程记录一下
- 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),我感觉这里其实不重要,因为我实现的时候,这里是直接复制的,啥都没有改。
但是如果你想填也没有问题,具体填什么,后面再说。
-
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
把官网提供的三个文件逐一拷贝即可
到这里基本大功告成了