CTCellularPlanProvisioning.supportsCellularPlan()始终返回false问题咨询
CTCellularPlanProvisioning.supportsCellularPlan() 始终返回false的原因
- 权限配置不匹配
你当前配置的com.apple.CommCenter.fine-grained/public-subscriber-info是读取运营商用户基础信息的权限,和eSIM能力判断无关。该接口要求的专属权限为com.apple.CommCenter.fine-grained/cellular-plan-provisioning,未配置对应权限时接口会默认返回false。 - 权限未获得苹果官方授权
上述eSIM相关权限属于苹果受控权限,普通开发者自行在 entitlements 文件中添加该权限不生效。只有和苹果合作的运营商eSIM激活类应用、企业MDM管理类应用,提前向苹果申请拿到专属签名授权后,权限才会被系统认可,接口才能返回正确值。 - 系统版本Bug
iOS 14.0~iOS 15.3 存在该接口的已知底层bug,无论设备是否支持eSIM、权限配置是否正确,接口都会固定返回false,可将测试设备升级到iOS 15.4及以上版本后重试验证。 - 设备区域政策限制
部分地区发售的设备虽然硬件支持eSIM,但受当地监管政策、运营商合作要求限制,系统层面直接屏蔽了eSIM功能,系统设置中无eSIM添加入口,这种情况下接口也会固定返回false,可先检查测试设备本身是否允许使用eSIM功能。
内容的提问来源于stack exchange,提问作者Piepants
相关产品推荐
相关产品推荐

