Cannot get eSim implementation although followed everything also getting false for supportsEmbeddedSIM and supportsCellularPlan

Hi Everyone, I have enabled eSIM entitlements to check eSIM, but I am always getting false for supportsCellularPlan and supportsEmbeddedSIM although my device having the esim feature. I followed each step from this stack overflow answer https://stackoverflow.com/a/60162323

Can anyone help me out here? below is the code I used:-

    private let provisioning = CTCellularPlanProvisioning() 

       let ctpr = CTCellularPlanProvisioningRequest()
        ctpr.address = "address$"
        ctpr.matchingID = "string$"

        let supportsESIM = provisioning.supportsCellularPlan()
        if #available(iOS 12.0, *) {
               let ctcp =  CTCellularPlanProvisioning()
               ctcp.addPlan(with: ctpr) { (result) in
                   switch result {
                   case .unknown:
                       print("Sorry unknown error")
                   case .fail:
                       print("Oops! something went wrong")
                   case .success:
                       print("Yay! eSIM installed successfully")
                   @unknown default:
                       print("Oops! something went wrong")
                   }
               }
           }
        
        print(provisioning.supportsEmbeddedSIM)

        print(supportsESIM)

this is the entitlements SS

this is the info.plist SS

Replies

Any news. Facing similar problem.

Add a Comment

Hopefully you were able to already get things working, but in case anyone else happens upon the thread and runs into similar issues, there were a couple of things in Info.plist that might have been contributing to the issue you were seeing and that other folks might also run into...

It looks like you were using +63 for your country code and 0908 for your carrier code, but those would be for E.164 purposes. For the iOS Carrier Descriptors, you'll need your PLMN/IMSI identifiers, instead. If I'm interpreting +63 0908 correctly, you should, instead, be 515 for your MCC and 03 for your MNC.

You also may need a public-cellular-plan string in your CommCenter.fine-grained array.