How do I open the Contacts app Swift - swift

Is there a URL to open the contacts application from within my application? I know you can achieve this with the settings app by using the UIApplicationOpenSettingsURLString constant in Swift; however, I wasn't sure if I could do the same with the Contacts app.

There isn't a deep link for opening the Contacts App.
Apple is very picky when it comes to deep-linking. They have to provide one for Settings since many apps need services like Data, Location, Bluetooth, Wifi, etc.
Unfortunately they do not extend this to the Contacts App.
However if your app needs contact information then for that Apple has provided a Contacts framework to browse through your contacts within your app itself.
Read more about it here.
In order to add/update/delete/merge contacts directly from your app without using the Apple's Contact UI, use the CNSaveRequest APIs. More on that here.

The closest thing you can get to opening a contact is to write them a message in IMessage. From this screen the user can press the contact icon and open the contact page for that particular contact.
You can do this by opening the url sms://+44776382223 where the number is the number of the person that you would like to view the contact of.

Related

Adding vCard to Contacts in iOS 13

we have a web site that allows people to click on a link to a vCard .vcf file to install contact details on their phone. The method for handling this has changed in iOS 13 and it is really confusing people. Previously, the vCard opened in the Contacts app and there was a Save button to add it to contacts. Simple, and people understood it. Now the vCard opens in a preview, but there is no obvious way to save it to their contacts. They have to know to tap the Actions icon, then find the Contacts entry and tap that. Very few people can work that out, instead they just tap the Done button, thinking it has been added. Adding a vCard to your contacts has become too hard for most people to work out.
Does anyone know of a trick whereby we can skip the preview screen and open the vCard directly in the Contacts app?
Gary
Including vCard information within a QR code as plain text (not a linked .vcard file) prompts users to add this information to their contacts app—a simple user experience for both iOS and Android users.
From what I've found, requesting any iOS or Android user to download a .vcard file leads to a confusing user experience which should be avoided.
Not sure how helpful you'd find it to include a QR code on a mobile website, but it's one option you have.
You might try to embed the vcard in an ical element like described in iPhone: how to get safari to recognize a vcard?

How does Instagram check if the users contact are using the application?

In the Instagram app you are able to sychronize your contacts and than the app shows which of them use the application. They are probably using the Contacts framework. Are they fetching the numbers of all contacts and than comparing them in their database?
Yes, once you allow to give access to your contacts. Step #1 is to sync your contacts with their server and they checkout in their database, if any of your contact already using the app (registered to app with that mobile number), they show it for you to better getting in touch with them, otherwise shows you an option to invite them to get started.

How I verify that user installed an iPhone app?

We provide advertising capabilities to iPhone app customers, where they can advertise apps to millions of users on social network, and stand out among large number of apps in app store.
Now, to prove the ROI, we also want to provide statistics of how many users actually installed the app using our advertisements on social network.
My question is:
How do I verify whether user installed an app (when user clicks on advertisement and we take user to App Store (on mobile device) or itunes page (on PC/Mac) )
Is there a way to integrate with developer's interface to get this information?
Thanks in advance.
This is a broad question and there are some simple solutions which may require some work. Apple provides you no feedback for when an app is installed. Assuming you are storing the click of the ad on a server you will need to match to that click with something you send up when the app is opened for the first time.
(if the ad is shown in a native app on the phone) You can send up a unique key when the click happens and also send that same unique key when the app opens for the first time and match them on the server. This key can be a hashed mac address or something you save to the UIPasteboard. This requires integration on the side of your clients app because they will need to send a http request to you when the app launches.
If the social network is web based then your best bet is to match on IP address which isn't perfect but can give you a high percentage of accuracy.
I guess I'm assuming you are hosting the ads though. If you are not then you will have to rely on what the ad networks give you and many of them can provide some form of install tracking.
Well, you can always look at that persons phone and check if your app is present there :P
Just kidding.
You have some ways to get information such as these.
If you have registration in your app, you can monitor the userInfo, along with the UDID.
You can setup some webservice calls on applicationDidFinishLaunching for the first time events (using NSUserDefaults key to save the first time info) and use that.
Check out FLURRY for data analytics in your app. This is an awesome service, and allows you to track your users and how they interact with your app. I would recommend this !
Most ad networks have conversion tracking capabilities, but once you click an ad from the web and go to iTunes, all hope is lost tracking a conversion.
I guess you'd be able to track a conversion if you require the user to provide information (like an email address) before directing them to the appstore then requiring them to input that same email once the app is opened.

Any way to detect who all use iPhones in the phone contact list using iMessage related or some similar logic?

When I send a sms msg to a friend in my phone book which also uses an iPhone, the message goes as iMessage by default.
Using the reverse logic, is it somehow possible to programatically figure out a list of people in my phonebook who use an iPhone?
Actually I have built an iPhone app and I want to provide a feature to let the user share the info about the app with her other iPhone friends if she likes the app. Now since non iPhone friends have no interest with the msg coz they cant use the app, it makes sense to provide the user a list of only iPhone friends whom she can fwd her msg if she wants to. Therefore I want to provide a list of iPhone users from her phonebook only and then let her iMessage them.
How can I achive this?
I read your post several times and can't see a definite question. But I'll try it:
Is it possible to find out, which of my friends are using an iPhone?
Yes and no. If you want to show only persons who downloaded the app, then it's totally possible, but if you want to find this out just by their phone numbers and using official Frameworks it's impossible to reach this.
Is it possible to find out, which of my friends are using iMessage?
No, except they all download your app and enter if they're using iMessage or not.
Again: If you want to get a list of your friends which are using an iPhone, they would need to download your app which collects the data. (It's called WhatsApp)

Create VCards with iPhone Address Book Contacts

I am wondering if there is some way to create and send VCards based upon the iPhone Address Book information from my own app. On the Mac, there is some easy function in the built in app to do this, but I have not seen something on the iPhone like this. So, is there some framework or otherwise that enables me to turn contacts on the iPhone into VCards?
Thanks for any help!
There is a "share contact" button at the bottom of every contact in the contacts app on the phone, press it and you can email a VCard to whoever you want.