iosobjective-cios9whatsappurl-scheme

iOS9: canOpenURL returning false for WhatApp's url scheme


In my current project I need to share text on whatsapp from iOS app.

Here is my code to share text on whatsapp:

NSURL *whatsappURL = [NSURL URLWithString:@"whatsapp://send?text=Hello%2C%20World!"];
if ([[UIApplication sharedApplication] canOpenURL: whatsappURL]) {
    [[UIApplication sharedApplication] openURL: whatsappURL];
}

but canOpenURL always returning false in iOS9.

Is there any iOS9 privacy policy? Can anyone help me out?


Solution

  • In iOS 9 you must whitelist any URL schemes your App wants to query in Info.plist under the LSApplicationQueriesSchemes key (an array of strings):

    For example:

    enter image description here

    So in your case, instead of fb and twitter you will have to specify whatsapp.

    Note that this mechanism only applies to canOpenURL and not openURL. You do not need to have a scheme listed in Info.plist to be able to open it with openURL.