iOS9:canOpenURL为WhatApp的url方案返回false

在我目前的项目中,我需要在iOS应用程序上分享whatsapp上的文本。

这是我在whatsapp上分享文字的代码: –

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

但是在iOS9中, canOpenURL总是返回false。

有iOS9隐私政策吗? 谁能帮我吗。

提前致谢。

在iOS 9中,您必须将您的应用程序想要在LSApplicationQueriesSchemes键(字符串数组)下的Info.plist中查询的任何URL方案列入白名单:

例如:

在此处输入图像描述

所以在你的情况下,你将不得不指定whatsapp而不是fbtwitter

请注意,此机制仅适用于canOpenURL而不适用于openURL。 您不需要在Info.plist中列出一个方案就可以使用openURL打开它。 希望有所帮助。

除了@ z22的答案,如果你需要以文本方式添加它(例如使用Xamarin),那么它看起来像这样:

   ... LSApplicationQueriesSchemes  whatsapp   

步骤:1在Info.plist中添加LSApplicationQueriesSchemes

步骤:2在项目中添加whatsapp

对我来说问题是因为我使用的是URL类型而不是LSApplicationQueriesSchemes

它只适用于LSApplicationQueriesSchemes

不行

网址类型

这会奏效

LSApplicationQueriesSchemes