iOS9:canOpenURL 为 WhatApp 的 url 方案返回 false
iOS9: canOpenURL returning false for WhatApp's url scheme
在我当前的项目中,我需要通过 iOS 应用在 whatsapp 上分享文本。
这是我在 whatsapp 上分享文本的代码:
NSURL *whatsappURL = [NSURL URLWithString:@"whatsapp://send?text=Hello%2C%20World!"];
if ([[UIApplication sharedApplication] canOpenURL: whatsappURL]) {
[[UIApplication sharedApplication] openURL: whatsappURL];
}
但是 canOpenURL 在 iOS9.
中总是返回 false
是否有任何 iOS9 隐私政策?
谁能帮帮我?
在 iOS 9 中,您必须将您的应用程序想要在 Info.plist 中查询的任何 URL 方案列入 LSApplicationQueriesSchemes 键(字符串数组)下的白名单:
例如:
因此在您的情况下,您必须指定 whatsapp
.
而不是 fb
和 twitter
请注意,此机制仅适用于canOpenURL,不适用于openURL。您无需在 Info.plist 中列出方案即可使用 openURL 打开它。
希望对您有所帮助。
步骤:1 在 Info.plist
中添加 LSApplicationQueriesSchemes
步骤:2 在项目中添加 whatsapp
除了@z22 的答案之外,如果您需要以文本方式添加它(例如使用 Xamarin),那么它看起来像这样:
<dict>
...
<key>LSApplicationQueriesSchemes</key>
<array>
<string>whatsapp</string>
</array>
</dict>
对我来说,问题是因为我使用的是 URL 类型 而不是 LSApplicationQueriesSchemes
它仅适用于 LSApplicationQueriesSchemes
这将不起作用
这将工作
在我当前的项目中,我需要通过 iOS 应用在 whatsapp 上分享文本。
这是我在 whatsapp 上分享文本的代码:
NSURL *whatsappURL = [NSURL URLWithString:@"whatsapp://send?text=Hello%2C%20World!"];
if ([[UIApplication sharedApplication] canOpenURL: whatsappURL]) {
[[UIApplication sharedApplication] openURL: whatsappURL];
}
但是 canOpenURL 在 iOS9.
中总是返回 false是否有任何 iOS9 隐私政策? 谁能帮帮我?
在 iOS 9 中,您必须将您的应用程序想要在 Info.plist 中查询的任何 URL 方案列入 LSApplicationQueriesSchemes 键(字符串数组)下的白名单:
例如:
因此在您的情况下,您必须指定 whatsapp
.
fb
和 twitter
请注意,此机制仅适用于canOpenURL,不适用于openURL。您无需在 Info.plist 中列出方案即可使用 openURL 打开它。 希望对您有所帮助。
步骤:1 在 Info.plist
中添加 LSApplicationQueriesSchemes步骤:2 在项目中添加 whatsapp
除了@z22 的答案之外,如果您需要以文本方式添加它(例如使用 Xamarin),那么它看起来像这样:
<dict>
...
<key>LSApplicationQueriesSchemes</key>
<array>
<string>whatsapp</string>
</array>
</dict>
对我来说,问题是因为我使用的是 URL 类型 而不是 LSApplicationQueriesSchemes
它仅适用于 LSApplicationQueriesSchemes
这将不起作用
这将工作