I am trying to develop an iMessage app on iOS 10 devices.
Was wondering if there is anyway that i can detect if receiver has my app installed or not?
Coz i want to perform certain actions if its installed and vice versa.
Have a look to this link : https://developer.apple.com/reference/messages/msmessage
You can read this :
iOS device with the iMessage app installed.
If the extension is not running, the system launches it using the init(session:) presentation style. The conversation’s selectedMessage property is set to the tapped message, and the view controller’s willBecomeActive(with:) and didBecomeActive(with:) methods are called.
If the extension is running, the system calls the view controller’s willSelect(:conversation:) method. It then updates the conversation’s selectedMessage property and calls the view controller’s didSelect(:conversation:) method.
Override willSelect(:conversation:) or didSelect(:conversation:) to respond to the user selecting a new message.
You can also save messages to the file system and process them later.
iOS device without the iMessage app installed.
The system opens the App Store for iMessage and prompts the user to install the iMessage app.
So to sum up, iMessage will detect for you if the user has already the app or not. But you won't be able to custom actions for the part where the user doesn't have the app. If the user does have the app, you can do whatever you want when he taps on your iMessage.