Swift 中的应用程序 openURL

2023-11-23

我在使用 Appdelegate 方法 OpenURL 时遇到问题。

我已经设置了导入的 UTI 和文档类型。但是,当从邮件附件打开我的应用程序时,应用程序会在我实现该方法后立即崩溃。

折旧的handleOpenURL可以用,但OpenURL不行?

目前我没有实现代码,只是返回 true。

func application(application: UIApplication, openURL url: NSURL, sourceApplication: String, annotation: AnyObject?) -> Bool {
    return true
}

崩溃说Thread 1: EXC_BAD_ACCESS (code-1, address-0x0)

我真的不想使用已弃用的方法。


这个问题让我头疼了一个星期。
使用微信/LinkedIn 等社交媒体登录后,我的应用程序不断崩溃。但 Facebook 和 Google 登录工作正常。

我注意到我的应用程序在确认登录微信应用程序后将继续崩溃,并将进入前台。并且正在获取不良过量错误。我尝试删除我的应用程序打开url方法 on 应用程序代理应用程序不会崩溃,但社交媒体登录操作不起作用。所以我发现我的问题出在特定方法上。搜索网络后我发现我使用ApplicationOpenUrl 已弃用的方法作为参考https://developer.apple.com/documentation/uikit/uiapplicationdelegate/1623073-application

func application(_ application: UIApplication, open url: URL, sourceApplication: String?, annotation: Any) -> Bool {
    return true
} // this method is deprecated in iOS 9 https://developer.apple.com/documentation/uikit/uiapplicationdelegate/1623073-application

请注意,已弃用的版本正在使用注释:Any,如果您桥接到 Obj-c 框架(例如微信),这将导致问题。
所以我所做的是将代码交换为新格式

func application(_ app: UIApplication, open url: URL, options: [UIApplicationOpenURLOptionsKey : Any] = [:]) -> Bool {
    let sourceApplication = options[UIApplicationOpenURLOptionsKey.sourceApplication] as? String
    let annotation = options[UIApplicationOpenURLOptionsKey.annotation]
    let application = app

    return true
}

希望这有帮助。它也将成为我的功能参考。感谢 StackOverflow

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

Swift 中的应用程序 openURL 的相关文章

  • 使用prepareForSegue传递数据

    我试图将数据从viewController 1传递到viewController2 我有2个按钮和1个segue 因此有一个segue标识符 这2个按钮 按下时每个按钮应显示 1个标签用于显示标题 1个textView用于显示定义 我很难显
  • 如何从 Firebase 同步检索数据?

    我有两个集合 即用户和问题 根据使用 userId 登录的用户 我检索currQuestion价值来自users收藏 基于currQuestion值 我需要检索question来自 Firebase 的文档Questions收藏 我使用下面
  • 如何在 Swift 中创建 UIAlertView?

    我一直在努力在 Swift 中创建 UIAlertView 但由于某种原因我无法得到正确的语句 因为我收到此错误 找不到接受提供的 init 重载 论点 我是这样写的 let button2Alert UIAlertView UIAlert
  • 进入后台时 Alamofire 请求卡住?

    我正在使用 Alamofire 调用 Web 服务 该服务需要相当长的时间才能加载 如果应用程序进入后台 当我返回应用程序时 我会被加载程序卡住 我想这是因为调用永远不会向我的完成处理程序返回任何内容 我该如何解决这个问题 您可以使用后台抓
  • 如何使用 SwiftUI 获取多个屏幕上的键盘高度并移动按钮

    以下代码获取键盘显示时的键盘高度 并将按钮移动键盘高度 在转换源 ContentView 和转换目标 SecibdContentView 处以相同的方式执行此移动 但按钮在转换目标处不移动 如何使按钮在多个屏幕上移动相同 import Sw
  • iOS Swift 在后台下载大量小文件

    在我的应用程序中 我需要下载具有以下要求的文件 下载大量 例如 3000 个 小 PNG 文件 例如 5KB 逐个 如果应用程序在后台继续下载 如果图像下载失败 通常是因为互联网连接丢失 请等待 X 秒然后重试 如果失败Y次 则认为下载失败
  • NSURLCache 不缓存

    我正在使用 Xcode 6 1 6A1030 iOS7 和 iOS8 模拟器 NSURLCache 似乎没有缓存任何东西 我使用 Cache Control 标头 我的服务器返回带有 max age 6000 的 Cache Control
  • xcode 9.0.1 / swift 4,没有使用 Objective-C 选择器 'onClick:forEvent:' 声明的方法 [重复]

    这个问题在这里已经有答案了 I use swift 4为了构建我的 UI 我创建了一个UIButton并想为其添加一个目标 但编译器会抛出警告 No method declared with Objective C selector onC
  • Swift:协议、结构、类

    我开始学习 Swift 语言 但在理解协议 结构和类方面遇到了困难 我来自 Android 方面的编程 所以我相信 Swift 协议基本上是 Java 接口 其中每一个的正确用例是什么 这些类比并不 完全 正确 但这就是我所理解的要点 是的
  • 循环多个 UIAlertController

    在某些情况下 我的应用程序需要显示多个警报消息 错误消息在启动时收集 并且需要一次向用户显示一条 当第一个被确认后 应该呈现下一个 问题在于 显然 它们都试图同时执行 有没有一种聪明的方法可以同步执行此操作 这是一些简单描述我想要做的事情的
  • 在 Swift 中以编程方式为 iOS 制作带有名字首字母的图像,例如 Gmail

    我需要在 UITableView 中显示与其姓名相对应的每个用户的个人资料图片 在下载图像之前 我需要显示一张带有他名字的第一个字母的图像 就像在 GMail 应用程序中一样 如何在 Swift for iOS 中以编程方式执行此操作 不需
  • 为什么在迭代字典时会出现“类型 [object] 的值没有成员 'lowercaseString'” 错误? [关闭]

    Closed 这个问题需要调试细节 help minimal reproducible example 目前不接受答案 我有几个对象 Struct object var title String var one object green v
  • 为 Swift 对象/属性设置观察者

    我一直在寻找一种在连接到 Mac 的显示器数量发生变化时触发方法的方法 我知道我可以获得 NSScreen screens count 的值 但我需要找到一种方法来在该值发生变化时创建通知或其他内容 或者指示所连接的显示器数量发生变化的其他
  • 如何右对齐 UILabel?

    Remark 实施 myLabel textAlignment right does not解决了我的问题 这不是我所要求的 我想要实现的是让标签对齐右对齐 为了更清楚地说明 这就是如何left对齐外观 就是这样justify对齐外观 if
  • Swift 3 中的 JSON 解析

    有没有人能够找到一种在 Swift 3 中解析 JSON 文件的方法 我已经能够返回数据 但在将数据分解为特定字段时我没有成功 我会发布示例代码 但我已经尝试了很多不同的方法但没有成功 并且没有保存任何代码 我想要解析的基本格式是这样的 提
  • iOS 防止计时器 UILabel 在数字变化时“晃动”

    我有一个UILabel它以以下格式显示计时器的输出MM ss SS 分 秒 厘秒 但是随着厘秒宽度的变化 它从左向右 摇动 例如 11 比 33 窄 有什么办法可以减轻这种情况吗 我尝试过将其居中 给它固定的宽度 但它们似乎没有帮助 从iO
  • iOS 电池监控 Swift

    我已将监控设置为启用 但模拟器和设备中的电池电量仍然为 1 UIDevice currentDevice batteryMonitoringEnabled true var level UIDevice currentDevice batt
  • 为什么这个谓词格式会变成 '= nil'

    有人建议这个线程 https stackoverflow com questions 40686005 nspredicate crash after swift 3 migration与我的问题完全相同 但是 我的应用程序没有崩溃 并且我
  • 在 UISearchController 文本字段中输入内容时导航栏消失

    我试图找出为什么当我开始在 UISearchController searchBar 中输入时我的整个导航栏消失 它正确加载并正确动画 但是当我开始输入时我丢失了活动的导航栏 下面是从 viewDidLoad 加载 searchContro
  • SKNode 上的 runAction 未完成

    我使用 NSOperation 子类来获取串行执行SKAction正如这个问题中所描述的 如何在 Swift 中子类化 NSOperation 以将 SKAction 对象排队以进行串行执行 https stackoverflow com

随机推荐

  • getDrawable() 在尝试从 imageview 获取位图时给出 null 对象

    我正在使用 glide 进行 imageview 我想从该 imageview 获取位图 ImageView imageView ImageView findViewById R id dp Glide with this load htt
  • android eclipse插件找不到有效路径

    我刚刚安装了最新的 galileo eclipse 版本 我添加了 最新的 adt 插件并将其配置为使用我的 android sdk r4 不幸的是 eclipse 插件已经失效了 由于某种原因 它 找不到 执行 android 工具 我收
  • 重新编码/重新调整不同级别的 data.frame 因素

    每次当我必须重新编码一组变量时 我都会想到 SPSS 重新编码功能 我必须承认这非常简单 有一个类似的recode函数于car包 它确实有效 但我们假设我想用factor I have data frame有多个值范围从 1 到 7 的变量
  • 如何使用二分查找从排序的 TreeSet 中检索元素?

    我正在尝试将多个排序列表合并到一个 TreeSet 中 然后我正在考虑在该 TreeSet 上应用二分搜索算法以 O log n 时间复杂度检索元素 下面是我的代码 其中我在我的方法之一中传递列表列表并将它们组合成TreeSet避免重复 里
  • 如何将 Promise.all() 与 chrome.storage() 一起使用?

    我有几个异步函数正在运行 我想等他们全部完成后再采取下一步行动 这是我用来获取所有键 值的代码chrome storage和Promise all 执行 var promise1 Promise resolve 3 var promise2
  • 在 Android 上使用 EWS Java API 时出现问题

    我尝试在 Android 应用程序中使用 EWS Java API v1 1 5 http archive msdn microsoft com ewsjavaapi 但遇到了许多问题 我下载了源代码 并按照提供的说明在 Eclipse 中
  • Java比较器用于多列排序?

    有没有Java开源比较器可以通过多个字段比较bean以进行多列排序 每列都可以升序或降序排序 对于单列排序 可以通过使用来实现org apache commons beanutils BeanComparator和 一起org spring
  • 如何在 Python 中将 H:MM:SS 时间字符串转换为秒?

    基本上我有这个问题的反面 Python 时间秒转 h m s 我有一个格式为 H MM SS 的字符串 始终为 2 位数字表示分钟和秒 我需要它代表的整数秒数 我怎样才能在Python中做到这一点 例如 1 23 45 将产生 5025 的
  • 当在标准错误中看到特定字符串时,如何终止进程?

    我需要启动一个流程 比如说foo 我希望看到标准输出 标准错误正常 但是grep字符串的 stderrbar Once bar发现于 标准错误foo应该被杀 这可能吗 我最初编写了一种涉及流混合的方法来做到这一点 但它不是很好 一些评论与该
  • 如何使用 PHP 和 CURL 上传具有多维 POSTFIELDS 的文件(多部分/表单数据)?

    我在使用 PHP 和 CURL 发布带有文件上传的多维数组时遇到问题 多维数组例如 post question Are you human post answers array yes no maybe post file path to
  • Chrome:未捕获的语法错误:输入意外结束

    在 Google Chrome 中加载页面时 我在控制台中收到模糊错误 未捕获的语法错误 输入意外结束 我不知道是什么原因造成的 我将如何调试这个错误 这个特殊的错误是一个令人烦恼的事实v8 在大多数情况下 您的 JavaScript 会以
  • 默认 WordML 单位测量?像素或点或英寸

    请澄清我的疑问WordML DOCX 默认单位测量是像素或点或 EMU 或英寸 这就是所谓的 DXA 每英寸有 1440 DXA 1英寸为72点 1 DXA 是一个点的 1 20 20 DXA 是 1 点 还有一种叫做动车组的东西 9144
  • HTML/HTML5 的默认命名空间是什么? [关闭]

    Closed 这个问题需要细节或清晰度 目前不接受答案 根据这个page由一些名为 w3c 的用户指定的 HTML 的默认命名空间是 http www w3 org 1999 xhtml 他显然错了 因为 xhtml 被用于失败的基于 XM
  • 集成(Selenium)测试后回滚数据库

    有人对回滚由 Selenium 等集成测试框架进行的数据库事务的最佳实践或首选方式有什么建议吗 这是我们当前的情况 我们有一个 net web 项目 其中包含许多单元测试 这些单元测试在我们的单元测试环境中运行良好 每个测试都继承一个父类
  • 删除 Unix 中的回车符

    删除所有回车符的最简单方法是什么 r来自 Unix 中的文件 I m going to assume you mean carriage returns CR r 0x0d at the ends of lines rather than
  • 用于 iPod 同步的优秀 Python 库

    我正在制作一个音乐应用程序 并且希望能够从我的应用程序与 iPod 同步 有没有人有使用 python 做这件事的经验 如果有的话你会推荐什么 我没用过 但是libgpod似乎确实有 python 绑定
  • Git 表示刚刚签出的文件“不在版本控制之下”

    我有一个明显的印象 我的 Git 存储库不知何故被破坏了 这是我正在执行的顺序 git clone 远程的克隆字符串 这将创建一个文件 App android AndroidManifest xml git mv 应用程序 android
  • 如何使用私有存储库中存在的复合操作?

    我们对第三方服务进行了大量的健康检查 我们希望它们定期运行 因为当它们出现故障时 它会像代码中的错误一样影响我们的应用程序 知道 是他们而不是我们 可以显着减少故障排除时间 我们已经通过 github 操作设置了此运行状况检查并计划运行 但
  • 自定义蜘蛛图 --> 在 matplotlib 中显示极坐标图上点之间的曲线而不是直线

    我测量了不同产品在不同角度位置的位置 在完整旋转过程中以 60 度为步长的 6 个值 我想使用极坐标图 而不是在笛卡尔图上表示我的值 其中 0 和 360 是同一点 With matplotlib 我有一个蜘蛛图类型的图表 但我想避免点之间
  • Swift 中的应用程序 openURL

    我在使用 Appdelegate 方法 OpenURL 时遇到问题 我已经设置了导入的 UTI 和文档类型 但是 当从邮件附件打开我的应用程序时 应用程序会在我实现该方法后立即崩溃 折旧的handleOpenURL可以用 但OpenURL不