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.
Thanks in advance.
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:
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. Hope that helps.
In addition to @z22's answer if you need to add it textually (e.g. with Xamarin) then it looks like this:
<dict>
...
<key>LSApplicationQueriesSchemes</key>
<array>
<string>whatsapp</string>
</array>
</dict>
Step:1 Add LSApplicationQueriesSchemes in Info.plist
Step:2 Add whatsapp in items
来源:https://stackoverflow.com/questions/34329595/ios9-canopenurl-returning-false-for-whatapps-url-scheme