Get IMEI and serial number from SIM on iOS programatically - ios

I need to get the IMEI number and serial number of the SIM card in iOS, i have done this in android using the telephonymanager, but how can i achieve this on iOS?
I need this value because I save it in a data base using a web service, each time a client attemp to log in, so it doesnt matter if the client changes celphone or not, the account will be the same because the SIM card will be the same one.
I have been searching on the web, and found a way with this:
NetworkController.m
But it seems like this class has been removed from the web. Another possible way to achieve my goal is to use:
UIDevice-IOKitExtensions.m
But no documentation is given. Any ideas?
Does apple accepts an app using private framework?

Apple does not allow the use of private framework / api. Also, getting the users IMEI number will cause Apple to reject the app.

Related

How can I get identification string look like IMEI in IOS

My project have a case: one account user can only log on to one device ( if user log on to app in device A, user can't log on to app in device B). My Idea is: when user login, I'll get the imei Iphone (like android) and send it with request login to server. But I can't get imei. I try with UUID, but UUID will change when re install app. Keychain does not solve the problem. Please help me.
You have to use Keychain to store Unique Id , this will not change even if user delete app
You can use any wrapper Source code to do this
here is an example
https://github.com/Joe0708/KeychainUUID
At the beginning I'd like to mention that I do not know any method that directly answers your question, especially that Apple does not allow you to read IMEI and other similar stuff due to privacy concerns. This has been answered here.
The workaround might be as follows
Take a look at the UIDevice class, especially at the identifierForVendorProperty which provides you (according to documentation ) with a device specific value.
The value of this property is the same for apps that come from the same vendor running on the same device. A different value is returned for apps on the same device that come from different vendors, and for apps on different devices regardless of vendor.
As far as i know some financial apps are secured this way to permit only one device to access the account. This however requires registering a device each time application is reinstalled.
Alternatively you can use UUID you generate within your app (first run) and then you assign it for the user online. It might take the form similar to two step verification process. Be aware however that with such restrictions user will have to be online all the time to use your app.

Get list of all wifi available in ios

I have check all possible solutions to get list of all available Wifi's but nothing works for me.
I even try NEHotspotConfigurationManager API but it connect to wifi with predefined SSID. In my case I need to get the list only.
Do we need entitlement document for NEHotspotNetwork?
This is not still possible in iOS. It doesn't look like there's a way to retrieve a list of currently available SSIDs, without using private APIs which would result in rejection from App Store submission of your app.

Ionic getting iOS device number [duplicate]

This question already has answers here:
Programmatically get own phone number in iOS
(9 answers)
Closed 5 years ago.
I have been looking a bit around for a way to retrieve the phone number of an iOS device but without too much sucess as I've seen mixed reports
According to this link it's a no :
Programmatically get own phone number in iOS
Also here https://www.npmjs.com/package/cordova-plugin-sim
I don't see any information about the phoneNumber for iOS.
However, as these links aren't brand new, I would like know if things have changed since
You can't. You should ask user for phone number from UI.
First of All, its impossible to get Phone number in iOS programatically. iOS don't allow such things. You can get the carrier name of the mobile number.
If you really want to get the Mobile Number, then you have to ask the user to send a message on a number which will be configured with your backend service. Once the message reaches to the number in Your backend System , you can get the mobile number from the backend with a Service call.
NO, this not possible as Apple wants to respect the privacy of their users. You can't access the phone number from public API, so you cannot.

Delete dial call number from recent call list in ios

I have a some special requirement to delete dial call number from call list. I research a lot on SO but not able to get any answer for this. Is it possible in iPhone?
Apple doesn't allow developers to modify call list or history, since it will violate user's privacy policy. It is not possible to achieve in iOS with iOS public framework, used to submit apps to appstore. It is only possible by using private frameworks... or you can say jailbreaking the device. But you won't be able to submit app to store. It will be rejected.
Simple answer: No you cannot. Apple iOS doesn't allow you to access some of the applications such as Phone and Messages - So it is not possible for you directly access the call log, read messages or whatsoever. What you can do is, you can open the Messages/Phone app with a pre-defined number to call or a message to send for performing user verification actions.
Take the example of Uber app; you can call the driver by tapping on the Contact button, but there is no way that app can access your phone log and delete the recent numbers from the record - unlike Android devices.
It may be possible by jailbreaking, which on the other hand won't let you put your app on the App Store.

Saving contact to sim card programmatically in iOS7

Can we save contact to sim card programmatically in iOS7. i Google it a lot but didn't find any topic.
You cant do that . AddressBook Api is for accessing (read/write) the contacts which stored in iPhone . There is no way to access the sim contacts at least by using the public APIs.
ref :
http://iphonedevsdk.com/forum/iphone-sdk-development/47463-get-contacts-from-sim-card.html
No way to do this,in both code and in physical device.
https://discussions.apple.com/message/22396506#22396506
There isn't a way to do this, at least a normal way that won't get your app rejected. Why do you want to do this? Contact lists on newer devices are never saved on sim cards anymore generally, and instead transferred using web services (such as iCloud and Google).
Not possible. The closest you will get to that is using the Address book framework.
https://developer.apple.com/library/ios/documentation/ContactData/Conceptual/AddressBookProgrammingGuideforiPhone/Introduction.html#//apple_ref/doc/uid/TP40007744

Resources