Objective C:: How to check if the user already installed your app? - objective-c

I am new to iOS (iphone and ipad) development.
I am developing an app. In the app, at 1 point, I will need to retrieve the contact lists, and my question is, after I get the user's contact list, is it possible to check each user have/have not installed my app? If yes, how? If no, how does Viber works?

They have a database with phone numbers. And I guess they send all the phonenumbers in your contacts to a server and return those who use viber. But I'm just guessing, never installed their app.
From their FAQ:
You don't have to register! You know
your phone number, and so do your
friends, so why bother with yet
another username and password? Viber
uses your phone number as your
"identity" and lets you make free
Viber phone calls to any of your
friends that have Viber - using THEIR
phone number.

From strictly the point of view of checking if another application is already installed,I made use of UIPasteBoard once.We developed a standard of pasting some info based on a key and the app would check first if that particular app name is present it would not show that in offers

Related

SMS Retriever API - phone picker source

Does Google's SMS Retriever API get the list of phone numbers from the SIM lines on the user's device (which means that it's similar to TelephonyManager), or from the user's Google Play account?
I'm the product manager at Google for this API. Yes, as of the latest version of Play Services, the Phone Selector shows both the phone number for the device from the TelephonyManager (if it can be parsed as as a valid phone number) as well as recent phone numbers for the active Google Accounts on the device.
This is not directly addressed from the docs but if we infer from this statement in the Obtain the user's phone number:
Often, it is the best user experience to use the hint picker to prompt
the user to choose from the phone numbers stored on the device and
thereby avoid having to manually type a phone number
we can deduce that SMS Retriever API gets the contacts from your device.
Update
Please look at #Steven Soneff's answer
The numbers are retrieved from Smart Lock for Passwords on Android. They are retrieved if the user already stored it using Smart Lock else they will be empty. You may also ask the user to store the number for future use-cases using Smart Lock for Passwords.

How to sync registered users in database with iPhone contacts

Imagine an iphone app that automatically registers users on the first start according to their phone identity (e.g. phone number*) on a server database.
Afterwards, users should see which of their friends already use the app, i.e. which of their contacts are registered on the DB.
An obvious solution would be to always send a select-request to the DB containing all of the users contacts, everytime the user refreshs his or her friend list. As a result, the user retrieves the list of their registered contacts (friends).
Is there any better way to realize this synchronization between the user management on the server and the contacts in the user's address book. Sending multiple select-requests (each user for every refresh) with dozens of phone numbers might not be performant at all.
Example:
WhatsApp is actually a good example for this scenario. You can add new contacts to your address book and WhatsApp automatically refreshs your WhatsApp friend list according to your phone book. I really like this idea because the user don't need to create an account manually.
*I know about the problems of using phone numbers in AppStore apps, so this question really focusses on the architectural problem.
EDIT
this comment (Whatsapp contacts syncronization) describes the mentioned simple approach. but is this really the smartest way?

How to search the Windows 8 contacts from .Net?

I'm doing estimates for a Windows 8 app, and I would like to programatically search the Windows 8 contacts store for a person's name based on their phone number or email address. Is this possible in WinRT/.Net? I can't seem to find documentation for an API to do this.
You can't do that per se. If you want to access the contacts locally, you have to use the Contact Picker Contract. That will bring up the People hub and let the user select one or more contacts that you can then operate on. If you want to search the user's contacts, you have to use the Live Connect APIs. Check out the Interactive SDK and this video from Build.

Can i get the user's friend's phone number using graph api?

I want to make facebook web apps using Graph API. I finished tutorial about Graph API, and I have a question.
My app must get the user's friend's phone number but in the user object, the phone number field does not exist.
How can I get the user's friend's phone number??
I'm afraid this is not possible by the moment, please check the following link:
http://developers.facebook.com/blog/post/447/
Despite it's quite old, nothing new has been heard.

Allow user to create account on one device and use that account on others

I want to make an application that has some views for information display. If I install my app on my iPhone then it should display the info. If I then install that app on my iPad then the app should recognize the device and display the info related to my account.
Is there any way to find the single user of two devices without the user's iTunes credentials, or is it possible to generate a key that can identify the common user of both devices?
No, currently there is no way to associate multiple devices to a single user owning those devices given the information you've provided.
However, if you added, "the information I want to display in the views, pertains to the same user account in Game Center for both devices", then you could use the player's identifier from Game Kit API.
https://developer.apple.com/game-center/
This is being added well after the fact, but:
You could use iCloud APIs to accomplish this. These are distinct from iTunes credentials, but obviously the same type of prerequisite in that the user must have an account and it's not under your control.