Après avoir cherché partout, j'ai trouvé qu'il y avait un moyen d'ajouter eSIM dans iPhone en utilisant l'API suivante
func addPlan(with: CTCellularPlanProvisioningRequest, completionHandler: (CTCellularPlanProvisioningAddPlanResult) -> Void)
Je ne sais pas pourquoi mais le gestionnaire d'achèvement ne retourne pas le résultat de CTCellularPlanProvisioningAddPlanResult imprimant simplement l'erreur suivante.
Domain=NSCocoaErrorDomain Code=4099 "The connection to service named
com.Apple.commcenter.coretelephony.xpc was invalidated." UserInfo=
{NSDebugDescription=The connection to service named
com.Apple.commcenter.coretelephony.xpc was invalidated.
Je veux savoir comment fonctionne cette API, vous pouvez voir mon code ci-dessous
let ctpr = CTCellularPlanProvisioningRequest()
ctpr.address = "SMDP+"
ctpr.confirmationCode = ""
ctpr.eid = ""
ctpr.iccid = ""
let ctcp = CTCellularPlanProvisioning()
ctcp.addPlan(with: ctpr) { (result) in
print(result)
}
J'utilise le framework CoreTelephony
Toute aide serait appréciée
Après avoir vérifié d'autres applications, j'ai constaté que GigSky faisait de même, quelqu'un sait comment ils font?
MISE À JOUR:
À partir de maintenant, j'ai trouvé la vérification de l'URL de la demande d'autorisation ci-dessous
https://developer.Apple.com//contact/request/esim-access-entitlement
J'ai demandé mais Apple ne répond pas.
Cette API n'est disponible que pour les opérateurs. Vous avez besoin d'un droit spécial de Apple pour pouvoir l'appeler dans votre application, sinon vous obtiendrez l'erreur que vous avez mentionnée.
Juste pour clarifier quelque chose sur les eSIM; il existe plusieurs façons d'ajouter eSIM à l'appareil:
CTCellularPlanProvisioning.addPlan(with: )
API que vous avez mentionnée dans votre question