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 问题 的相关文章

  • 是否有针对不同屏幕尺寸的单独故事板?

    基本上我已经完成了一个应用程序 我唯一的问题是 ATM 机应用程序在设计时只考虑了 4 英寸显示屏 当在 3 5 英寸模拟器上运行时 应用程序会丢失 0 5 英寸 显然 那么我的问题是 如何在 Xcode 5 中为不同的屏幕尺寸设置不同的故
  • 无法构建 Saurik 的 ldid 实用程序

    当我执行此命令 make sh 时 我遇到这些错误 构建用于越狱调整开发的 ldid 实用程序 Bilals Mac ldid billy make sh g arch i386 arch x86 64 arch ppc arch armv
  • 是否有适用于 iPad 2 的条码扫描仪 SDK? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 将永久字符添加到 UITextField

    有没有办法将字母永久添加到 UITextField 中 用户无法删除它 我想添加一个字符 用户无法删除它 但他们仍然可以在之后添加字母 Cheers 附注这是适用于 iOS 的 A UITextField有一个名为 应该更改范围内的字符 的
  • NSString – 静态还是内联?有性能提升吗?

    如果我写的话会有任何性能提升吗 NSString helloStringWithName NSString name static NSString formatString Hello return NSString stringWith
  • 网站在 iPhone 屏幕右侧显示空白区域

    我遇到问题http eiglaw com http eiglaw com iPhone 屏幕右侧显示约 25 像素宽的空白 边框 我在 stackoverflow 上研究了这个问题 这些帖子是相关的 但是当我尝试提供的各种解决方案时 我无法
  • 通过 WhatsApp 发送消息

    由于我发现了一些较旧的帖子 表明 Whatsapp 不支持此功能 我想知道是否发生了变化 以及是否有办法打开与我通过意图发送的号码进行 Whatsapp 聊天 UPDATE请参阅https faq whatsapp com en andro
  • Parse.com 从相关 PFObject 获取 PFUser

    我正在将照片保存为 PFObject 解析 并使用 PFUser currentUser 用户 ID 作为其键之一 我想在表格视图中显示照片以及该 PFUser 的详细信息 但是当我尝试获取用户时 PFUser user self phot
  • 在 Xcode 5 中重命名 iOS 项目[重复]

    这个问题在这里已经有答案了 我需要重命名一个 iOS 项目 有没有办法在不开始一个全新项目的情况下做到这一点 我发现的所有其他信息都与 Xcode 4 或旧版本相关 这些方法似乎使项目崩溃 我在尝试任何名称更改之前创建了一个快照 在 Xco
  • 更改组织以使用 Xcode 9 在 iTunes Connect 上上传二进制文件

    我在 Xcode9 上配置了多个团队 当我尝试将二进制文件上传到 Xcode 9 上的 iTunes Connect 时 没有更改团队的选项 并且出现以下错误 ERROR ITMS 4088 来自苹果开发者论坛的解决方案 1 正常存档2 窗
  • 如何使用AudioKit保存音频文件?

    我有音频文件 我给它做了一些效果 let pitchshifter AKPitchShifter self audioPlayer pitchshifter shift 10 AudioKit output pitchshifter 如果我
  • 覆盖层不与 UITableView 一起滚动 - iOS

    我有一个 UITableView 类 它使用以下方法在转到下一个屏幕时调用加载覆盖 问题是这个加载屏幕不随列表滚动 所以如果你滚动一点并单击某些东西 加载屏幕不会显示 因为它位于顶部 如何让加载屏幕始终保持在 UITableView 的顶部
  • 在 XCode 中链接静态 ObjC 库的过程

    我正在尝试链接到静态库 但不断收到链接器错误 我发现了一些发布示例的网站 但我无法看到我做错了什么 首先 我创建一个链接到我的库的项目 添加 gt 现有文件找到我的 xcodeproj 文件选择 将项目复制到目标组文件夹 选择我的宿主项目作
  • 将 SSLSetEnabledCiphers 与 AFNetworking 结合使用来禁用弱密码

    我正在尝试禁用一些密码 弱 例如单个 DES 单个 DES 40 位等 我尝试过使用这段代码在 Cocoa 中使用 CFSocket CFStream 时如何设置 SSL 密码 https stackoverflow com questio
  • 如何使用 Swift 使用 TouchID?

    Apple 为 iOS 8 的 TouchID 实现提供的文档采用 Objective C 语言 有 Swift 版本吗 Objective C IBAction touchIDAvailable UIButton touchIDAvail
  • Apple Watch 预构建操作可更改故事板 customModule 引用

    我目前有一个项目 其中包含同一应用程序的 3 个不同版本 不同的品牌等 该项目运行得很好 从那时起 我添加了 3 个新的 Apple Watch 目标 每个应用程序 版本 1 个 其中 2 个引用 主 Apple Watch 目标中的文件
  • ios水平居中约束问题?

    I am having hard time in learning constraints auto layout in iOS I have used any width any height I have a storyboard sc
  • insertNewObjectForEntityForName:

    我使用 Xcode xcdatamodel 文件编辑器设置了一个实体 我创建了一个名为 Person 的实体 添加了一些属性 然后生成了一个 m 文件来表示它 一切都很好 现在 当我去编写一行代码时 例如 Person person Per
  • 哪些 Flutter 插件或功能可以利用外部 iOS/Android 显示器来显示与主显示器不同的内容

    我正在构建一个跨平台应用程序 需要在外部显示器上显示不同的视图 通常通过连接到 LCD 投影仪的 HDMI 适配器电缆连接 Flutter 是否能够在内置的外部显示器上显示不同的屏幕 在现有的 Flutter 插件中还是使用现有的 Flut
  • 水平 UICollectionView 单行布局

    我正在尝试使用以下命令设置简单的水平布局UICollectionView 兜圈子却没有达到预期的结果 所以任何指针或例子将不胜感激 我粘贴经常更改的代码但没有成功可能没什么意义 该图像显示两行 第一行是单个项目 尺寸正确并且在中心正确对齐

随机推荐

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

    在 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