iOS 10 中的 Whatsapp 集成和 openURL 问题

2023-12-13

我已将 Whatsapp 集成到我的 iOS 应用程序中。当我在我的 iOS 10 设备上测试它时。它因问题而崩溃。

对尚未渲染的视图进行快照会产生空快照。确保您的视图在快照之前或屏幕更新后的快照之前至少已渲染一次。

NSURL *whatsappURL = [NSURL URLWithString:[NSString stringWithFormat: @"whatsapp://send?abid=%@&text=WelcomeToChatBought",[abidArray objectAtIndex:buttonclicked.tag-1000]]];
        if ([[UIApplication sharedApplication] canOpenURL: whatsappURL])
        {
            [[UIApplication sharedApplication] openURL: whatsappURL];
        }

可能是什么问题。任何帮助,将不胜感激。


你需要设置LSApplicationQueriesSchemes如果未设置,则在 plist 中:

Like,

<key>LSApplicationQueriesSchemes</key>
<array>
 <string>urlscheme1</string>
 <string>urlscheme2</string>

</array> 

另外,请注意打开网址(_:)在 iOS 10 中已弃用。

新的 UIApplication 方法 openURL:options:completionHandler:, 其中 异步执行并调用指定的完成处理程序 在主队列上(此方法替换 openURL:)。

新方法在iOS 10:

- (void)openURL:(NSURL*)url options:(NSDictionary<NSString *, id> *)options
  completionHandler:(void (^ __nullable)(BOOL success))completion

参数:

  • The URL to open

  • 选项字典(有关有效条目,请参阅下文)。使用空字典来实现与以下相同的行为openURL:.

  • 成功调用主队列的完成处理程序。Nullable如果您对状态不感兴趣。

Like,

UIApplication *application = [UIApplication sharedApplication];
[application openURL:URL options:@{} completionHandler:nil];

Example:

NSString *scheme=[NSString stringWithFormat: @"whatsapp://send?abid=%@&text=WelcomeToChatBought",[abidArray objectAtIndex:buttonclicked.tag-1000]]];

  UIApplication *application = [UIApplication sharedApplication];
  NSURL *URL = [NSURL URLWithString:scheme];

  if ([application respondsToSelector:@selector(openURL:options:completionHandler:)]) {
    [application openURL:URL options:@{}
       completionHandler:^(BOOL success) {
      NSLog(@"Open %@: %d",scheme,success);
    }];
  } else {
    BOOL success = [application openURL:URL];
    NSLog(@"Open %@: %d",scheme,success);
  }

在这里阅读更多内容:

http://useyourloaf.com/blog/openurl-deprecated-in-ios10/

编辑:(基于iOS版本的代码)

NSURL *URL = [NSURL URLWithString:strUrl];

if([[UIDevice currentDevice].systemVersion floatValue] >= 10.0){

  if ([application respondsToSelector:@selector(openURL:options:completionHandler:)]) {
    [application openURL:URL options:@{}
       completionHandler:^(BOOL success) {
      NSLog(@"Open %@: %d",scheme,success);
    }];
  } else {
    BOOL success = [application openURL:URL];
    NSLog(@"Open %@: %d",scheme,success);
  }


}
else{

  bool can = [[UIApplication sharedApplication] canOpenURL:URL];

  if(can){

     [[UIApplication sharedApplication] openURL:URL];

  }

}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

iOS 10 中的 Whatsapp 集成和 openURL 问题 的相关文章

  • 在 Pages 文稿中打开文本—Swift

    在我的 Swift 2 应用程序中 用户通过文本字段创建一串文本 然后将其共享给另一个应用程序 现在 我只能将文本共享为 txt 文件 这不提供选项Open In Pages当我打开系统共享对话框时 如何才能让用户可以选择将输入的文本作为
  • iOS FacebookSDK + 解析 SDK + GoogleMaps SDK

    我搜索了很多 然后我意识到 ObjC标记那个GoogleMapSDK需要 但不能很好地配合ParseSDK and FacebookSDK 所以我阅读了所有的 stackoverflow 答案并尝试解决我的问题 问题还没有解决 我执行的步骤
  • iOS 确定视频中的帧数

    如果我有一个 Swift 中的 MPMoviePlayerController MPMoviePlayerController mp MPMoviePlayerController contentURL url 有没有办法获取视频中的帧数u
  • iOS 何时清理本地应用程序 ./tmp 目录?

    iOS什么时候清理本地应用程序 tmp目录 请注意 这不是一个骗局这个问题 https stackoverflow com questions 3593900 iphone storage in tmp directory 我问的是应用程序
  • 为什么 iPhone 应用程序的 main() 函数没有机会完成?

    考虑以下main 大多数 iPhone 应用程序都采用以下方法 int main int argc char argv NSAutoreleasePool pool NSAutoreleasePool alloc init int retV
  • Swift:Tableview 在导航栏下方滚动但在状态栏上方滚动?

    我使用以下技巧隐藏了导航栏的阴影 self navigationController navigationBar setBackgroundImage UIImage for default self navigationControlle
  • 单击按钮时退出应用程序 - iOS [重复]

    这个问题在这里已经有答案了 可能的重复 iOS 4 0 中退出应用程序 https stackoverflow com questions 3097244 exit application in ios 4 0 我有一个 AlertView
  • 在 Swift 中的 For 循环中更改对象的属性

    我创建了一个名为 ShoppingList 的简单结构 struct ShoppingList var shoppingListId NSNumber var title String var groceryItems GroceryIte
  • 无法在 xcode 8 beta 6 上编译 AWS CustomIdentityProvider

    我在 iOS 应用程序中使用 Amazon Cognito 和 Facebook 登录 直到 beta 5 为止此代码从这个SO线程 https stackoverflow com questions 37597388 aws cognit
  • 从字典创建 Swift 对象

    如何根据 Swift 字典中的查找值动态实例化类型 希望这对其他人有用 我们需要进行一些研究才能弄清楚这一点 目标是避免巨大的 if 或 switch 语句从值创建每个对象类型的反模式 class NamedItem CustomStrin
  • “无法取消归档名为 UITableViewController 的元素”

    我一直在按照 构建你的第二个 iOS 应用程序 教程一步步进行 在教程承诺所有错误都会消失之后 我遇到了这个错误 但直到其他错误都出现后 该错误才出现 全部更正 我尝试编译它 错误 The document MainStoryboard i
  • iOS 有 INTERNET 权限吗?

    我在 iOS 设备上的 flutter dio 包上遇到了一个奇怪的问题 我编写了一个向 url 发送 GET 请求的应用程序 Android 上一切正常 但 iOS 上的请求似乎无法通过 没有发生任何错误 什么也没有 我在 Android
  • 使用未声明的类型“对象”

    这太奇怪了 通常我可以理解未声明的类 但这是声称 Object 类本身未声明 NSObject 可以工作 但我的项目设置方式我需要它是一个纯 Swift 对象 我的类标题如下所示 import UIKit import Foundation
  • 自动生成的 Swift 桥接标头中“找不到接口声明”

    我当前的项目包含 Swift 和 Objective C 代码 两种类型的源文件都使用另一种语言的代码 当我进行完全清理并重新编译时 几乎每个 Swift 类声明都出现错误Module Swift h 形式为 Cannot find int
  • 将 NSFetchedResultsController 添加到项目后出现问题

    我设置 CoreData 时没有NSFetchedResultsController一切都保存得很好 切换到之后NSFetchedResultsController 我在尝试保存图像时遇到奇怪的错误 这是我用来保存图像的代码 void sa
  • Swift - 保存在 TableView 中选择的复选标记

    我对 Swift 相当陌生 并且在 TableView 多重选择方面遇到问题 我有多个选择 可以用复选标记进行检查 类似于待办事项列表 当我检查项目时 我希望能够返回 ListView 并保存我的选择 我假设将其保持在已保存状态的代码将位于
  • 如何从第二个视图弹回到根视图?

    我使用 2 将 3 个视图 根视图 第 1 个视图 第 2 个视图 连接在一起modal在 Apple Watch 故事板中继续 1 在根视图中 按下 保存 按钮后 将显示第一个模态视图 2 在第一模态视图中 一旦按下 500 按钮 将显示
  • Facebook 登录打开错误的应用程序

    我正在尝试使用 facebook 实现应用程序的登录 但每次我尝试登录时 它都建议打开错误的应用程序 我尝试了一些在这里找到的东西 但没有成功 在 Facebook 的开发者页面上我添加了一个后缀 我的 plist 如下 有谁知道发生了什么
  • 带有自定义字体的 UILabel 错误呈现

    在我的 iPhone 应用程序中 我为所有 UILabel 设置了自定义字体 更准确地说 我对 UILabel 进行了子类化 重写了一个方法 在该方法中设置了自定义字体 然后将 IB 中的所有标签设置为该自定义类 现在的问题是 所有文本都渲
  • iOS 中是否需要 Google App Indexing SDK 才能使用 Google DeepLinking?

    我想用谷歌应用程序索引与我的网页和 iOS 应用程序 我支持通用链接 or 深层链接用谷歌术语 与苹果Search并相应地设置我的网页 From 谷歌文档 https developers google com app indexing i

随机推荐

  • 让调试器在下一个事件时中断

    在 Visual Basic 6 0 IDE 中 可以中断正在运行的处于空闲状态 等待 UI 线程上的事件 的程序 然后按 F8 单步 此后 任何单击 鼠标悬停或导致代码的其他事件都会导致调试器在要执行的下一行代码处中断 这将是事件处理程序
  • PHP 中的乘法函数结果

    我还是 PHP 的初学者 我有一个小问题 我想乘以该值get formatted order total 3 75 我所做的是 get formatted order total 3 75 但它没有用 这是代码 li class total
  • Web 浏览器调用脚本

    我有一个 Web 浏览器 其中一些设置是使用 javascript 更改的 我正在尝试使用这个例子here但无法获得正确的语法 脚本看起来像这样 div class DisplayInput div
  • 从 .net 4 升级到 4.5 会破坏 Javascript 中的 Html.Raw 调用

    我在 c MVC 3 razor 页面中有以下代码 我将序列化数据传递到 KnockoutJs 的 javascript 变量中 var listData new JavaScriptSerializer Serialize Model L
  • 在 AngularJS 应用程序中加载 JSON(加载谷歌电子表格)

    我正在尝试在我的应用程序中加载 Google 电子表格 但我无法使其正常工作 我尝试了不同的方法来访问树结构 通过控制器和 或通过 html 但它们都不起作用 知道可能出了什么问题吗 这是我的控制器 app controller Super
  • 日期时间修改函数跳过二月

    当添加一个月时DateTime modify方法 结果跳过二月 为什么不输出2020 02 31 如何输出2020 02 29使用日期时间 该月的最后一天 date new DateTime 2020 01 31 echo date gt
  • 尝试设置 Tortoise svn - 新手问题

    我正在尝试在我的 Windows 计算机上设置 svn 来跟踪版本 我已经下载了 tortoise svn 但我很困惑如何安装 我无法为我的问题找到一个好的简单答案 所有手册都相当复杂 所以请不要告诉我 RTFM 我的问题是我在 C svn
  • 如何在正则表达式属性上添加多行选项?

    我在用 RegularExpression a zA Z0 9 1 125 确保多行文本框的每一行正确匹配 然而 我无法弄清楚如何添加全局标志和多行标志选项 MVC 不可能吗 我还有什么其他选择 您可以添加内联选项来启用 MultiLine
  • Google 地图 API 旋转矩形

    我有一个应用程序 它使用 JavaScript API 版本 3 在 Google 地图上绘制矩形数组 这可行 但我想做的是旋转或倾斜每个矩形Rectangle基于用户输入 Is the Rectangle对象仅限于水平 垂直线 API 仅
  • 如何根据 y 值按降序绘制两个列表?

    我有两个清单 第一个是字符串列表a Agriculture Forestry Fisheries Veterinary Medicine Architectural and Town Planning Business Administra
  • 如何为 Electron / Atom Shell 应用程序设置应用程序图标

    如何为 Electron 应用程序设置应用程序图标 我在尝试BrowserWindow icon path to image png 但它不起作用 需要打包app才能看到效果吗 设置icon创建时的属性BrowserWindow仅对 Win
  • qsort 给出 [错误]:从 `int (*)(cricketer*, cricketer*)' 到 `int (*)(const void*, const void*)' 的无效转换

    这是代码 它按平均跑数对板球运动员的数据进行排序 这qsort函数显示错误 错误 C Users Encoder Documents C Free Temp Untitled3 cpp 29 错误 无效的转换int cricketer cr
  • 如何通过 API 管理动态发现 Service Fabric 中托管的服务?

    假设我在 Service Fabric 集群中托管了服务 A 和 B 它们分别在端口 7001 和 7002 上侦听 在集群内部 假设我将服务结构负载均衡器配置为侦听端口 8001 并将请求转发到服务 A 的端口 7001 集群内部 侦听端
  • python 中的列表赋值

    我有如下代码 当我打印 list1 和 list2 时 它显示相同的元素 但我在将现有 list1 分配给 list2 之后添加了 9 因此它不应在 list2 中显示 9 list1 1 2 3 4 list2 list1 list1 i
  • 在 OSX 上安装 SDL

    我下载了SDL2 2 0 3 I ran configure make make install 我也尝试过brew install SDL2 这是我的 main c Using SDL and standard IO include
  • 在Struts 2中引用fileUpload拦截器时出现404错误

    我在用struts xml文件描述如下
  • get JSONException:解析 JSON 响应时,无法将 java.lang.String 类型的值转换为 JSONObject

    我开发了一个 Android 应用程序 它从服务器请求位置坐标 该服务器以 JSON 格式响应 目前它只发送两个位置 这是来自服务器的 php 代码 place db gt getCoordinates name if place fals
  • 通过 GET 或 POST 提交超链接

    所以有这个超链接 它很高兴成为一个超链接 它不想更改为按钮或表单元素 它想保留一个链接 但如果我可以通过 GET 或 POST 提交它 由于设计标准 我在页面上切换的东西 这对我确实有帮助 有什么办法可以做到这一点 谢谢 贾尔斯 您很幸运
  • bxslider 对于动态加载的内容无法正常工作

    必须使用 bxslider 作为其中一个应用程序 我在尝试通过 ajax 动态加载内容来实现 bxslider 时遇到一些问题 它突然起作用 有趣的是 当通过打开开发工具或窗口大小更改来使视口发生轻微变化时 它确实会发生变化有时有效 只是想
  • iOS 10 中的 Whatsapp 集成和 openURL 问题

    我已将 Whatsapp 集成到我的 iOS 应用程序中 当我在我的 iOS 10 设备上测试它时 它因问题而崩溃 对尚未渲染的视图进行快照会产生空快照 确保您的视图在快照之前或屏幕更新后的快照之前至少已渲染一次 NSURL whatsap