Using CTCellularPlanProvisioning to activate eSIM

Hello All,


I am currently working to provide a seamless experience when the user wants to activate eSIM through our app, I faced an issue with 'addPlan' function (for supportsCellularPlan function it works fine).


I have one question related to entitlements and info.plist files:

- To active eSIM through seamless experiences, shall we have app name same as cellualr name ? (for example the cellualer name ABC and the app name is XYZ).

- The issue only happend when I try the seamless experience (If I tried to activate it manually through settings and scan QR code it works fine)


Here is my add plan function (in objC):


       plan = [[CTCellularPlanProvisioning alloc] init];
           eSimRequest = [[CTCellularPlanProvisioningRequest alloc] init];
           eSimRequest.address = address; // LPA:1$XXXXXXXXXXXXXXXXX
           [_plan addPlanWith:_eSimRequest completionHandler:^(CTCellularPlanProvisioningAddPlanResult result){
             if (result == CTCellularPlanProvisioningAddPlanResultSuccess) {
                  // The esim was added successfully     
                 callback(result);
             } else if (result == CTCellularPlanProvisioningAddPlanResultFail) {
                 // Error when activate eSim
                 callback(result);
             } else if (result == CTCellularPlanProvisioningAddPlanResultUnknown) {
                 // Error when activate eSim
                 callback(result);
               }
           }];
         }


I have added in entitlements:

public-cellular-plan key


and in info.plist I added with keys:

  MCC
  MNC
  GID1
  GID2
  SmdpUrl
  IccidPrefix



And of course we got eSIM distribution entitlements from Apple developer.


Thanks 😊 🙏

Replies

Hi, have you got any solution? I have the same issue.