What are the requirements of isSIMInserted api newly introduced from iOS 18 onwards

Hello Folks,

I recently came through a new API introduced from iOS 18 onwards isSIMInserted and according to the document it is A Boolean property that indicates whether a SIM is present. I really appreciate Apple for introducing such an useful API but there are few queries on what are the requirements for using this API.

Query 1: Do we need any special entitlements for making use of this API. ? If yes then what are those entitlements and are these entitlements available openly or we have to raise special request to apple for such entitlements?

Query 2: What are the entries required to be added in info.plist for supporting the isSIMInserted api to work.

Query 3: Is isSIMInserted api available for all type of apps because mine is a financial stock related app and i am looking forward to use this API for providing more security to the end user while registering through sms. As per the below link this api is only available for mobile Carrier apps but in official document there is no such mention. https://forums.developer.apple.com/forums/thread/760991

Please kindly help me on these queries ?

Regards, Carol

Answered by DTS Engineer in 820387022

This API is intended to be used by carrier apps. It’s not appropriate for other purposes.

If you look at the other APIs in the <CoreTelephony/CTSubscriber.h> header they all have this text:

This method is only available to carrier apps with suitable entitlements.

I filed a bug to get that clarified for this API as well (r. 142540457)

Share and Enjoy

Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"

Accepted Answer

This API is intended to be used by carrier apps. It’s not appropriate for other purposes.

If you look at the other APIs in the <CoreTelephony/CTSubscriber.h> header they all have this text:

This method is only available to carrier apps with suitable entitlements.

I filed a bug to get that clarified for this API as well (r. 142540457)

Share and Enjoy

Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"

@DTS Engineer

Thanks for the prompt reply sir.

Query 1: in case if I have any financial app like a money transfer app or UPI/ Bank app we cannot consume this API ?

Because right now it will of great help if while using any financial like UPI apps to check the sim availability before sending the SMS

Query 2: if I am developing a carrier app what entitlements should be needed from Apple for consuming isSIMInserted API?

Reason : Docs related to isSIMInserted don't have detailed explanation about requirements

Regards, Carol

Written by CarolSchmidt123 in 820420022
if I have any financial app like a money transfer app or UPI/ Bank app we cannot consume this API?

Again, this API is intended to be used by carrier apps.

As a financial app developer, if you’d like to see an API tailored to your requirements then I encourage you to file an enhancement request explaining those requirements. We already have UPI specific functionality, so it’s reasonable to request additional support in that space.

If you do file an ER, please post your bug number, just for the record.

Written by CarolSchmidt123 in 820420022
if I am developing a carrier app what entitlements should be needed from Apple for consuming isSIMInserted API?

I don’t know this off the top of my head. The good news here is that you’re not developing a carrier app (-:

Written by CarolSchmidt123 in 820420022
Docs related to isSIMInserted don't have detailed explanation about requirements

Agreed, and I’ve already filed a bug requesting that we improve the docs.

Share and Enjoy

Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"

Thanks @DTS Engineer sir. The enhancement request has been raised for isSIMInserted to make it available for non carrier apps too. The bug reference number is FB16273814

Regards, Carol

What are the requirements of isSIMInserted api newly introduced from iOS 18 onwards
 
 
Q