打开包含今天扩展的应用程序时崩溃

2024-02-20

我今天创建了扩展程序并添加了一个按钮来打开包含的应用程序。内部扩展视图控制器:

@IBAction func pressed() {
    extensionContext?.openURL(NSURL(string:"myApp://")!, completionHandler: nil)
}

因此,我还将 URL 方案添加到包含应用程序 plist 中:

<key>CFBundleURLTypes</key>
<array>
    <dict>
        <key>CFBundleURLSchemes</key>
        <array>
            <string>myApp</string>
        </array>
    </dict>
</array>

小部件工作正常,但是当我尝试按小部件时,我的应用程序在包含应用程序 AppDelegate.swift 的内部崩溃。里面断点application(application: UIApplication, openURL url: NSURL, sourceApplication: String, annotation: AnyObject?)无法到达。 回溯:

* thread #1: tid = 0x27fb0, 0x00000001861bd698 CoreFoundation`CFStringCreateCopy + 36, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x0)
    frame #0: 0x00000001861bd698 CoreFoundation`CFStringCreateCopy + 36
    frame #1: 0x00000001019f7954 libswiftFoundation.dylib`Foundation._convertNSStringToString (ObjectiveC.NSString) -> Swift.String + 152
    frame #2: 0x000000010030172c myApp`@objc myApp.AppDelegate.application (myApp.AppDelegate)(ObjectiveC.UIApplication, openURL : ObjectiveC.NSURL, sourceApplication : Swift.String, annotation : Swift.Optional<Swift.AnyObject>) -> Swift.Bool + 104 at AppDelegate.swift:0
    frame #3: 0x000000018ad172f0 UIKit`-[UIApplication _applicationOpenURL:payload:] + 216
    frame #4: 0x000000018ad1b4c8 UIKit`-[UIApplication _handleNonLaunchSpecificActions:forScene:withTransitionContext:] + 2420
    frame #5: 0x000000018ad1f810 UIKit`-[UIApplication _handleApplicationActivationWithScene:transitionContext:completion:] + 2220
    frame #6: 0x000000018ad1ecec UIKit`__88-[UIApplication _handleApplicationLifecycleEventWithScene:transitionContext:completion:]_block_invoke + 140
    frame #7: 0x000000018ad1ec44 UIKit`-[UIApplication _handleApplicationLifecycleEventWithScene:transitionContext:completion:] + 380
    frame #8: 0x000000018ad12578 UIKit`-[UIApplication scene:didUpdateWithDiff:transitionContext:completion:] + 512
    frame #9: 0x000000018e54562c FrontBoardServices`__31-[FBSSerialQueue performAsync:]_block_invoke + 28
    frame #10: 0x000000018628ea28 CoreFoundation`__CFRUNLOOP_IS_CALLING_OUT_TO_A_BLOCK__ + 20
    frame #11: 0x000000018628db30 CoreFoundation`__CFRunLoopDoBlocks + 312
    frame #12: 0x000000018628c154 CoreFoundation`__CFRunLoopRun + 1756
    frame #13: 0x00000001861b90a4 CoreFoundation`CFRunLoopRunSpecific + 396
    frame #14: 0x000000018f35b5a4 GraphicsServices`GSEventRunModal + 168
    frame #15: 0x000000018aaee3c0 UIKit`UIApplicationMain + 1488
  * frame #16: 0x0000000100307df4 myApp`top_level_code + 76 at AppDelegate.swift:15
    frame #17: 0x0000000100307f0c myApp`main + 48 at AppDelegate.swift:0
    frame #18: 0x000000019709aa08 libdyld.dylib`start + 4

如果我打开myApp://在 Safari 中,应用程序可以正确打开,不会崩溃。


我遇到了一个非常类似的问题。我已经实施了application:openURL:sourceApplication:annotation:使用这个 Swift 代码:

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

但事实证明sourceApplication实际上应该是可选的:

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

不知道我是怎么出错的(我假设 Xcode 自动完成,但它现在似乎正在做正确的事情),但改变它为我解决了这个问题。

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

打开包含今天扩展的应用程序时崩溃 的相关文章

  • 保存时出现 iphone 核心数据未解决的错误

    尝试保存时 我从核心数据中收到一条奇怪的错误消息 但问题是错误不可重现 在执行不同任务时 它会在不同时间出现 错误消息 Unresolved error Domain NSCocoaErrorDomain Code 1560 UserInf
  • iOS UITest:如何找到UITableViewCell的AccessoryView?

    你好我正在学习UITests now 我有个问题 如何检测accessoryView的点击tableViewCell 在UI测试中 下面是我的tableViewCell 我想要检测细节闭合配件视图水龙头 像这样 app tables cel
  • Swift 2.0 中的协议扩展方法调度

    我面临有关协议方法调度的问题 我有一个类层次结构 如下所示 protocol E func test extension E func test print jello class A E class B A func test print
  • iOS 绘制圆圈

    我正在尝试在我的 iOS 应用程序中创建下面的圆圈 我知道如何制作圆圈 但不完全确定如何沿着弧线获取点 它必须是代码而不是图像 下面也是我目前拥有的代码 void drawRect CGRect rect CGPoint point poi
  • @IBDesignable 错误:IB Designables:无法更新自动布局状态:Interface Builder Cocoa Touch Tool 崩溃

    我有一个非常简单的 UITextView 子类 它添加了 占位符 功能 您可以在文本字段对象中找到该功能 这是我的子类代码 import UIKit import Foundation IBDesignable class Placehol
  • 使用 GCD 异步 UITableViewCell 图像加载

    我目前正在尝试加载 Flickr 照片的 UITableView 列表 cs193p iOS 斯坦福大学 作业 5 为了避免 UI 阻塞事件 我将每个单元格的缩略图下载推迟到不同的队列中 但确实将 UI 更新回主队列中 此代码不会异步加载图
  • 如何在 Flutter 中为 Button 添加渐变?

    有没有办法改变ElevatedButton背景颜色渐变 如果没有一些小瑕疵或问题 例如缺少涟漪效应 不需要的边框 不尊重主题的内容 上述所有解决方案都无法真正发挥作用minWidth对于按钮 The 下面的解决方案没有上述问题 关键部分是使
  • 操作按钮未出现在通知 iOS 10 中

    我在我的应用程序中使用本地推送通知 在 iOS 10 中为通知添加操作按钮时 它不会出现在通知下方 通知正在显示 但通知底部缺少操作按钮 下面给出了 appdelegate 代码 import UIKit import CoreData i
  • 图表无法在 Xcode 14 上编译

    我在图书馆中面临以下错误 Type 图表数据集 不符合协议 范围可替换集合 实例方法不可用 替换Subrange with 用于满足协议的要求 范围可替换集合 将其附加到扩展 ChartDataSet RangeReplaceableCol
  • Apple 如何通知 iOS 应用程序内购买 (IAP) 退款?

    我在我的应用程序中成功实现了 Apple iOS IAP 并在沙箱中进行了测试 效果很好 我担心用户可能会通过 IAP 购买商品 将其下载到我的应用程序中 然后向 Apple 投诉并获得退款 没有明显的方式将退款报告给我的应用程序 它们是否
  • 关于 S3 文件传输的权限

    我正在使用 S3TransferManager Sample 进行测试 我创建了Cognito并设置了IAM并最后更改了constants swift文件 我上传没有问题 但下载失败 错误信息是 下载失败 错误域 com amazonaws
  • .net MVC 将 MP4 流式传输到 iDevice 问题

    我一直在编写用于提供视频服务的一段代码 但遇到了一些问题 代码如下 public ResumingFileStreamResult GetMP4Video string videoID if User Identity IsAuthenti
  • 如何防止 iPhone 4 在添加到主屏幕时截断我的标题?

    我的网页标题很长 当添加到 iPhone 旧版本的主屏幕时 整个标题在确认对话框中可见 当我添加到 iPhone 4 的主屏幕时 标题在第 12 个符号之后被切断 有没有办法阻止这种剪切 让 iPhone 默认显示完整标题 显然会有一个无证
  • ios7 绘图时出现延迟

    我有一个应用程序 在其中我正在视图上绘制一些草图 到目前为止 在我安装之前它运行良好ios7 我的应用程序使用触摸移动方法来识别运动的变化 但是当我画一条线时 触摸方法被调用 但线不会更新 直到我触摸结束ios7 所以画起来有一点点滞后 它
  • Swift:转义闭包捕获非转义参数“onCompletion”

    我的 swift 有问题 我正在尝试发送 API 请求 然后检索数据 但收到以下错误消息 Swift 转义闭包捕获非转义参数 onCompletion 有谁知道我该如何解决这个问题 提前致谢 Code class RestApiManage
  • 如何支持滑动删除具有组合布局的 UICollectionView 列表中的行?

    以前对于表视图 这是在UITableViewDataSource委托回调tableView commit forRowAt 相关 API 中是否有等效功能新的集合视图 https developer apple com documentat
  • NativeScript:禁用 iOS WebView 缩放控件的方法?

    我正在尝试找出一种方法来防止用户通过捏合手势和双击来放大和缩小 iOS WebView tns ios 3 4 1 本质上禁用所有缩放 就像苹果之前使用的 html 元标记一样让用户决定是否要使用 iOS 10 及更高版本进行缩放 我找到了
  • CF 类型的带有 __attribute__((NSObject)) 的强 @property 不会保留

    更新 自 Xcode 4 6 起 此问题已得到修复 现在 这项技术再次按预期发挥作用 但是 在代码中使用之前 请务必阅读 Rob Napier 出色答案顶部的注释 原帖 ARC Xcode 4 3 1 iOS 5 1 我有一个 CF 类型
  • Swift 将十进制坐标转换为度、分、秒、方向

    我怎样才能将其转换为快速 我最好的猜测是所有 int 都变成了 var 删除所有导致 的 此外 如果有的话可以给我指出一个很好的来源来了解事物如何转换 那就太好了 NSString coordinateString int latSecon
  • 是否可以开发一个可以跟踪其他应用程序使用情况的应用程序?

    我很想知道是否有可能为 iOS 开发一款类似的应用程序 就像本周刚刚发布的 Android 版应用程序一样 https play google com store apps details id com appuccino Frequenc

随机推荐

  • 如何在 Mac 上构建 gcc?

    我想在 Mac 上构建最新版本的 gcc 我有最新的 xcode 但我正在寻找更新版本中的一些 c 0x 功能 lambda 函数等 有没有关于这样做的好的分步教程 你应该看看自制项目 https brew sh Homebrew 允许您执
  • 我如何声明实现类的 java 接口字段应该完善该字段

    如何声明实现类的 java 接口字段应该细化该字段 例如 public interface IWorkflow public static final String EXAMPLE interface field public void r
  • 简单问题:Java 中的 ValueChanged 事件

    Java 中是否存在值更改时触发的事件 就像这个例子一样 public class Example public String var1 Something public Int var2 4 If var1 or var2无论事件发生什么
  • 持续集成中的 Java 分析

    有没有像 Jenkins 这样与 CI 服务器集成的 Java 分析工具 我不知道这样的东西是否存在 但是如果有某种测试框架能够产生像 YourKit Profiler 的快照这样的结果 那就太好了 这些将由 CI 服务器调用 并将结果与
  • C# 中的命名锁集合?

    我有多个线程将数据写入公共源 并且我希望两个线程当且仅当它们接触同一数据时才相互阻塞 如果有一种方法可以专门锁定任意键 那就太好了 string id GetNextId AquireLock id try DoDangerousThing
  • 您可以启动一个 C# 应用程序吗,这样它就不需要 .NET

    我在用视窗 10我确实想在 Windows 7 计算机上运行我的应用程序 但不允许我下载 NET Framework 有没有一种方法可以让我不需要在 Windows 7 上安装 NET Framework 如果你想让它立即运行 你必须使用
  • 我可以通过添加一个数字来增加迭代器吗?

    我可以使用迭代器进行正常计算 即通过添加数字来增加它吗 举个例子 如果我想删除元素vec 3 我可以这样做吗 std vector
  • 我们如何检查 javaFx 应用程序是否已经在运行?

    有什么方法可以检查我们的 javaFx 应用程序是否已经在运行 如果是 则显示应用程序的现有实例 否则启动新实例 好吧 我确信可能有更好的解决方案 但是当我遇到这个问题时 我只是创建了一个布尔值 一旦启动方法运行 该布尔值就会更改 默认为
  • 如何使用 JSON 从 google API 获取中文罗马拼音

    我想将英语翻译成中文 我已经成功了 但我还需要中文罗马化 即 God 应该翻译为 神 以及 Sh n 我找不到Shen 我怎样才能做到这一点 我只是对 goslate 谷歌翻译器的非官方 API 做了一些小改动 使其能够获得罗马化翻译 并将
  • 如何将 Eclipse 工作区与 TFS 工作区关联?

    我正在使用 Eclipse 版本 11 0 0 的 Team Foundation Server 插件 我有几个 Eclipse 工作区和几个 TFS 工作区 是否可以将 TFS 工作区与 Eclipse 工作区关联 我发现映射本地文件夹不
  • 无法升级pip

    我想安装一些库来学习机器学习 我说我需要升级 pip 但是当我尝试安装它时 pip install upgrade pip Collecting pip Using cached pip 9 0 1 py2 py3 none any whl
  • 更改 ggplot2 中单个面的文本颜色

    我用这些命令创建了下面的图 ggplot long data aes owner value stat summary fun y mean geom bar fill c deepskyblue deepskyblue4 stat sum
  • 了解规范化和重复 - 我想我不知道 - 添加艺术家和标题 ID [关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 我首先列出了 1958 年至 1980 年期间按日期排列的前 100 首歌曲的表格 对于每个日期 都有 100 条记录 显然 随着歌曲每周位
  • 如何将打印语句保存在列表中?蟒蛇[关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 如何将打印语句保存在列表中 for i in range len values for j in range len values prin
  • 预计会看到“字符数组的初始化字符串太长”警告[重复]

    这个问题在这里已经有答案了 我希望在使用 gcc 的以下程序中看到两个变量的 字符数组的初始化字符串太长 警告 Program int main char str1 4 1234 char str2 3 1234 void str1 Rem
  • 使用枚举来选择要实例化的类

    我有一个枚举 我试图将其与 dto 关联 public enum DtoSelection dto1 dto2 dto3 该枚举中有 108 个 和 值 我为每个 dto 都有一个 dto 对象 public class dto1 Abst
  • 使用 FileSystem API 写入文件

    我正在尝试使用文件系统 API 创建一个文件 我用谷歌搜索并得到了一个代码 function onFs fs fs root getFile log txt create true exclusive true function fileE
  • 如何在ArangoDB中存储图像?

    我想将图像作为图像文件存储在 ArangoDb 中 我想知道是否有相同的 API 或 Java API 提前感谢您 在 ArangoDB 中存储二进制数据是一项长期存在的功能请求 https github com arangodb aran
  • 在 coreData xcode iphone 中创建复合谓词

    您好 我正在处理 3 个实体 班级 学生 考试记录 的核心数据及其关系区域 Class lt gt gt Students lt gt ExamRecord 我创建了一个谓词来获取第 5 班的学生列表 NSString fmt2 stude
  • 打开包含今天扩展的应用程序时崩溃

    我今天创建了扩展程序并添加了一个按钮来打开包含的应用程序 内部扩展视图控制器 IBAction func pressed extensionContext openURL NSURL string myApp completionHandl