iPhone自动安装eSim配置文件 - 回调调用太早

4
我们在我们的应用程序中添加了eSim安装功能,并且有两种流程:自动安装或手动安装配置文件。我按照这里所描述的进行了所有必要的配置。手动安装正常工作,但是我们在自动安装配置文件方面遇到了问题。
代码如下:
let planProvisioning = CTCellularPlanProvisioning()
let cellularPlanRequest = CTCellularPlanProvisioningRequest()
cellularPlanRequest.address = eSimResult.address
cellularPlanRequest.matchingID = eSimResult.code

planProvisioning.addPlan(with: cellularPlanRequest) { result in
    // this get's called immediately and the result is always .unknown
    print("cellularPlanRequest result is unknown", result == .unknown)
}

问 题 是 当 我 们 调 用 planProvisioning.addPlan(with:) 后, 立即 通 过 结 果 .unknown 调 用 回 调 函 数 , 并 显 示 开 始 安 装 的 系 统 视 图 - 而 不 是 在 用 户 成 功 或 失 败 地 完 成 安 装 流 程 后 才 调 用 回 调 函 数。 有 没 有 人 成 功 地 解 决 了 这 个 问 题? 我 们 错 过 了 什 么 吗?谢 谢。
1个回答

0
我遇到了同样的问题,通过在添加计划的函数中单独声明和实例化planProvisioning,我成功解决了这个问题。
class ViewController: UIViewController {
private let planProvisioning = CTCellularPlanProvisioning() //this fixed the issue for me

func createEsimProvisioning() {
    let cellularPlanRequest = CTCellularPlanProvisioningRequest()
    cellularPlanRequest.address = eSimResult.address
    cellularPlanRequest.matchingID = eSimResult.code
    
    planProvisioning.addPlan(with: cellularPlanRequest) { result in
        // this get's called immediately and the result is always .unknown
        print("cellularPlanRequest result is unknown", result == .unknown)
    }
  }
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接