UIActivityViewController选择AirDrop时出现NSExtension警告如何修复
警告触发原因
这个警告并非你项目内配置的通知扩展触发,从警告日志里的Extension: <EXConcreteExtension: 0x283a54cc0> {id = com.apple.Sharing.AirDrop}字段可以判断,是iOS系统自带的AirDrop共享扩展的内部校验输出日志,属于iOS 16及以上系统新增的扩展 payload 规则检查提示,和你的业务代码、自定义扩展没有关联。
验证方式
你可以临时将AirDrop加入UIActivityViewController的排除共享类型列表,重新运行代码触发分享流程,如果警告消失即可验证上述判断:
activityController.excludedActivityTypes = [ UIActivity.ActivityType.assignToContact, UIActivity.ActivityType.airDrop, // 其余你原有需要排除的共享类型 ]
修复方案
根据你的业务需求选择对应处理方式即可:
- 如果你不需要支持AirDrop分享CSV:直接按上面的代码将AirDrop加入排除列表,警告会直接消失。
- 如果你需要保留AirDrop分享功能:该警告是系统侧的未完善逻辑导致,不属于你应用代码的问题,当前不会影响任何功能正常运行,也不会导致应用审核被拒,无需做额外处理,后续苹果系统更新会修复该日志输出问题。
补充校验:你可以额外确认传递的CSV文件URL的合法性,确保URL是沙箱内允许对外分享的路径、带有正确的
file://前缀,文件权限配置正常,排除自身代码的URL错误风险。
内容的提问来源于stack exchange,提问作者tzonGoza
相关产品推荐
相关产品推荐

