网易首页 > 网易号 > 正文 申请入驻

2024 Flutter iOS 隐私清单上线,5 月 1 号最后期限,你收到 「ITMS-91053」 了吗?

0
分享至

2023 年底的时候,我就发过了 《Flutter 上了 Apple 第三方重大列表,2024 春季 iOS 的隐私清单究竟是什么?》 相关内容,如果你还对隐私清单等相关要求不了解,建议先看看前文。

如果你已经有相关了解,并且近期也提交过 App 到 App Store ,那么你可能已经收到过类似 「ITMS-91053」 的相关警告邮件,这就是隐私清单里的「必要理由的 API 声明」,也是隐私清单里最大家最容易遇到的问题之一,主要包括了:

  • File timestamp APIs

  • System boot time APIs

  • Disk space APIs

  • Active keyboard APIs

  • User defaults APIs

邮件里也写明了,最后的要求期限是 5 月 1 号,所以正如去年说的那样,春季过去后,也是时候面对隐私清单的适配要求了

实际上在 Flutter 进度里,官方和主流的插件基本都已经完成了隐私清单的适配要求,而目前主要出现在 Upcoming third-party SDK requirements 列表的插件,还没适配动静的应该就是 fluttertoast 了,尽管已经有了 PR #489 ,但是暂时还没有相关回应。


❝ 不过问题不大,最多自己 fork 一个 merge 下。

另外针对之前所说的,对于 “收集” 的定义目前很模糊的问题,类似webview_flutterwebview_flutter本身不收集任何内容,但是App 可以用来webview_flutter收集浏览历史记录,然后这如何在 SDK 的隐私清单里去体现?

官方的回复是,如果SDK没有收集任何数据,那么应该提供一个隐私清单,概述没有收集任何信息,所以这也是webview_flutter等插件目前的适配逻辑之一。



❝ 没适配的插件,也可以考虑自己 fork 过来通过类似方式兼容。

接着我们聊 「ITMS-91053」,如果你收到ITMS-91053: Missing API declaration - Your app’s code in the “Runner” file,首先要做的就是确定你的 Flutter SDK 是否升级到了 3.19,因为 Engine 的适配官方是在 3.19 做的,当然,如果你就是想做「钉子户」,那么你也可以参考下方的 issue 和 pr ,自己 fork 个 engine 去适配支持:


  • #48951 Add xcprivacy privacy manifest to iOS framework



  • #131494 Find Required Reason API usage in Flutter Engine and create Privacy Manifest


另外,并不是看到Your app’s code in the “Runner” file就是说明是 Engine 的隐私清单有问题,因为构建方式也可能会影响到警告的提示。

Flutter 3.19 本身已经有一个合规的隐私清单,如果你在 3.19 还能遇到ITMS-91053: Missing API declaration - Your app’s code in the “Runner” file,官方表示可能是:

  1. 引入的插件有隐私清单 (podspec使用了s.static_framework = true),但目前你使用的是旧版本,所以需要更新插件

  2. 使用的插件没有声明隐私清单,或者隐私清单不完整

对于 1 的情况,可以将插件的依赖版本升级到最新,然后不要忘了运行一次flutter pub upgrade,因为很多插件最近才添加清单支持,另外运行flutter pub upgrade的必要性在于:

例如shared_preferences目前是2.2.2,其清单文件是在其依赖的shared_preferences_foundation上 ,而shared_preferences_foundation在其内部依赖版本是^2.2.0,但是其实包含隐私清单的包是2.3.5所以如果你不执行flutter pub upgrade,那么你本地的shared_preferences插件所使用的 foundation 依赖可能会是旧版本


❝ 所以就算升级完插件后,查看插件里是否包含 privacy 文件也是非常重要的一个步骤。

另外,对于项目的Podfile构建是否使用use_frameworks!,也是目前 「ITMS-91053」 警告的主要问题之一 ,为了更好区分和解决 「ITMS-91053」 的问题,官方建议:

  1. 一般建议使用use_frameworks!,或者插件的 podspec 配置static_framework = true为强制静态链接,正常情况下可以把出现的警告指向插件,然后沟通插件方配合解决问题,至少清楚问题在哪里。

  2. 如果因为构建等原因,无法使用 1 的方式,或者说可以不使用 1 ,那么可以直接在 App 端强制创建隐私清单 ,然后通过find build/ios/iphoneos -name *.xcprivacy在的项目中运行,对于所有.bundle/PrivacyInfo.xcprivacy查看它们所做的声明,然后合并复制到上面创建的文件,然后自己补充缺少的。

因为 Flutter 目前在处理 「ITMS-91053」 问题上,最难就是找到警告来自哪个插件,又是因为什么原因不符合, 例如一开始permission_handler_apple插件做了隐私清单申明,但是其实少了NSUserDefaults,因为它设置了static_framework = true,所以导致 NSUserDefaults 代码位于Runner,一开始找问题的时候,因为它已经适配过了,大家都忽略了permission_handler,后来才发现,目前 flutter-permission-handler #1292 已经修复了这个问题。

最后,如果你在向官方提出相关 issue 时,例如在 #145269 下提出相关问题的时候,最好是附上下列配置,以便于快速定位问题:

  • pubspec.yamlpubspec.lock,特别是pubspec.lock

  • ios/Podfile

  • 是否自己修改过 Runner 中的 native 代码

  • 如果方便提供.ipa.xcarchive

目前来说一些问题还是存在,而存在的原因基本是定位到是哪个插件,和如果理解这样做是否符合条款,目前 issue 都有人提供 create demo 包提交测试是否会触发 「ITMS-91053」,只能说大家都还在“以身试法”,前任种树后人乘凉,感兴趣的可以继续关注:


  • https://github.com/flutter/flutter/issues/143232



  • https://github.com/flutter/flutter/issues/131940



  • https://github.com/flutter/flutter/issues/145269


那么 ,5 月 1 号马上就要来了,你是继续做钉子户,还是升级到 Flutter 3.19 ?如果还有什么问题,欢迎交流讨论。

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
中国女排0-3日本!赛后数据一览,谁是输球的罪魁祸首,一目了然

中国女排0-3日本!赛后数据一览,谁是输球的罪魁祸首,一目了然

侃球熊弟
2024-06-20 20:02:15
瑞典女网红:和C罗吃晚餐 他不喝酒只要了杯水 他想要保持6块腹肌

瑞典女网红:和C罗吃晚餐 他不喝酒只要了杯水 他想要保持6块腹肌

罗克
2024-06-20 10:05:39
突然暴雷,抛售10万亿!央行刚抛375亿,日本银行接力做空美债?

突然暴雷,抛售10万亿!央行刚抛375亿,日本银行接力做空美债?

财说得明白
2024-06-20 19:02:10
令人胆寒,广东一女子做小蝴蝶处脱毛,结束后发现有摄像头正对她

令人胆寒,广东一女子做小蝴蝶处脱毛,结束后发现有摄像头正对她

妮子说美食
2024-06-20 15:53:17
两性:当女人羞羞时,“咪咪”会发生什么变化?全看男人怎么操作

两性:当女人羞羞时,“咪咪”会发生什么变化?全看男人怎么操作

喜马拉雅主播暮霭
2024-06-18 00:05:58
中央批准,开除吴炜党籍

中央批准,开除吴炜党籍

鲁中晨报
2024-06-20 14:19:02
德转宣!艾克森还没离开成都蓉城,徐正源就敲定国安锋霸顶替他

德转宣!艾克森还没离开成都蓉城,徐正源就敲定国安锋霸顶替他

罗掌柜体育
2024-06-20 12:02:54
广西壮族自治区党委书记处原书记兼监委会主任、党校校长伍晋南

广西壮族自治区党委书记处原书记兼监委会主任、党校校长伍晋南

花小猫的美食日常
2024-06-20 22:37:24
搞事?下一期《歌手》收视率要爆?导演组邀请了那英最不想见的人

搞事?下一期《歌手》收视率要爆?导演组邀请了那英最不想见的人

八卦王者
2024-06-20 15:29:36
俄乌战争打到现在,俄罗斯才访问朝鲜?彼得大帝都要气疯了

俄乌战争打到现在,俄罗斯才访问朝鲜?彼得大帝都要气疯了

小哆啦的游戏屋
2024-06-19 10:50:03
笑死!于北辰:你知道湾湾军力有多强吗?解放军才是“草莓兵”

笑死!于北辰:你知道湾湾军力有多强吗?解放军才是“草莓兵”

文雅笔墨
2024-06-20 16:11:00
万物皆可预制菜,这世界什么都是假的,只有我3000块的工资是真的

万物皆可预制菜,这世界什么都是假的,只有我3000块的工资是真的

有趣的羊驼
2024-06-20 17:02:39
各取所需!休媒送火箭3方交易:打包卖探花签+2首轮 爵士顺水推舟

各取所需!休媒送火箭3方交易:打包卖探花签+2首轮 爵士顺水推舟

锅子篮球
2024-06-20 12:16:24
从朝鲜归来,有些大实话不得不讲!

从朝鲜归来,有些大实话不得不讲!

李砍柴
2024-04-21 23:53:00
大学生在毕业典礼挥拳打老师?校方还在调查中,学生透露打错人了

大学生在毕业典礼挥拳打老师?校方还在调查中,学生透露打错人了

阿蒙聊教育
2024-06-20 13:56:11
我所亲历的文章姚笛出轨事件,背后的故事比谍战剧还精彩!

我所亲历的文章姚笛出轨事件,背后的故事比谍战剧还精彩!

美工张铁牛
2023-06-09 23:00:57
签约广东队?男篮“一哥”被曝已离队,或加盟宏远驰援杜锋!

签约广东队?男篮“一哥”被曝已离队,或加盟宏远驰援杜锋!

绯雨儿
2024-06-20 14:47:45
菲律宾副总统萨拉从马科斯内阁中辞职,执政联盟走向破裂

菲律宾副总统萨拉从马科斯内阁中辞职,执政联盟走向破裂

远方的狮
2024-06-20 23:33:04
我和男友同居后,他的死党却提出过分要求,最后我差点被洗劫

我和男友同居后,他的死党却提出过分要求,最后我差点被洗劫

想养大熊猫
2024-05-08 09:48:38
明日夏至,有空没空,记得:1不理、2不坐、3不动、4要吃

明日夏至,有空没空,记得:1不理、2不坐、3不动、4要吃

书中自有颜如玉
2024-06-20 10:13:32
2024-06-21 00:28:49
君伟说
君伟说
分享职场故事
230文章数 48关注度
往期回顾 全部

科技要闻

小米SU7流量泼天,富贵却被蔚来接住了

头条要闻

媒体:以为中国会服软 菲在南海主权之争上存低级误判

头条要闻

媒体:以为中国会服软 菲在南海主权之争上存低级误判

体育要闻

绿军的真老大,开始备战下赛季了

娱乐要闻

叶舒华参加柯震东生日聚会,五毒俱全

财经要闻

楼市新“王炸”!释放何信号?

汽车要闻

售价11.79-14.39万元 新一代哈弗H6正式上市

态度原创

亲子
健康
旅游
本地
公开课

亲子要闻

孕妇及家属文化程度太低有多危险?因为无知,所以无畏!

晚餐不吃or吃七分饱,哪种更减肥?

旅游要闻

铁路儿童票新规 已有超4900万小旅客免费出行

本地新闻

2024·合肥印象|用崭新视角对话城市发展

公开课

近视只是视力差?小心并发症

无障碍浏览 进入关怀版