Xcode AX 查找问题 - 仅发生在真实设备上

2024-01-02

尽管此错误令人担忧,但不会使应用程序崩溃。我无法确定为什么会发生这种情况,尽管我发现它只在我打电话时才会发生present(picker, animated: true) where picker is a UIImagePickerController()。我已将所有必要的权限添加到我的 info.plist 中,甚至创建了一个小型测试应用程序来重现此错误。

使用任何模拟器时都不会发生这种情况,而且我只能找到另一篇关于此类错误的帖子,尽管那个帖子 https://stackoverflow.com/questions/63892110/ax-lookup-problem-errorcode1100-errorpermission-denied-portnamecom-apple-i也没有得到答复。

我制作的测试应用程序由一个简单的故事板组成,其中有一个按钮可以调用UIImagePickerController()呈现函数,然后呈现一个 imageView 来接受该照片。

这是代码ViewController.swift:

import UIKit

class ViewController: UIViewController {
    @IBOutlet var imageView: UIImageView!

    override func viewDidLoad() {
        super.viewDidLoad()
    }
    @IBAction func setPicture(_ sender: Any) {
        let picker = UIImagePickerController()
        if UIImagePickerController.isSourceTypeAvailable(.photoLibrary) {
            picker.delegate = self
            picker.sourceType = .photoLibrary
            picker.allowsEditing = true
            present(picker, animated: true)
        }
}
extension ViewController: UIImagePickerControllerDelegate, UINavigationControllerDelegate {
    func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey : Any]) {
        if let image = info[UIImagePickerController.InfoKey.originalImage] as? UIImage {
           imageView.image = image
        }
        picker.dismiss(animated: true, completion: nil)
    }
    func imagePickerControllerDidCancel(_ picker: UIImagePickerController) {
        picker.dismiss(animated: true, completion: nil)
    }
}

我将在下面的控制台中包含我看到的完整错误:

2021-01-21 09:40:00.160241-0500 Outdoorist[2480:608042] [AXRuntimeCommon] Unknown client: Outdoorist
2021-01-21 09:40:07.259911-0500 Outdoorist[2480:608307] [AXRuntimeCommon] AX Lookup problem - errorCode:1100 error:Permission denied portName:'com.apple.iphone.axserver' PID:2483 (
    0   AXRuntime                           0x00000001a3f9eeac 0C4A28F7-3959-3709-8C05-A1A91EED978B + 347820
    1   AXRuntime                           0x00000001a3f4dfb8 _AXGetPortFromCache + 548
    2   AXRuntime                           0x00000001a3f4f610 AXUIElementPerformFencedActionWithValue + 460
    3   UIKit                               0x00000001ce67823c 737C2677-858F-3820-AD45-0EBAABC788BB + 852540
    4   libdispatch.dylib                   0x0000000102e8bce4 _dispatch_call_block_and_release + 24
    5   libdispatch.dylib                   0x0000000102e8d528 _dispatch_client_callout + 16
    6   libdispatch.dylib                   0x0000000102e945ac _dispatch_lane_serial_drain + 748
    7   libdispatch.dylib                   0x0000000102e95234 _dispatch_lane_invoke + 452
    8   libdispatch.dylib                   0x0000000102ea0a5c _dispatch_workloop_worker_thread + 1456
    9   libsystem_pthread.dylib             0x00000001ce3935a4 _pthread_wqthread + 272
    10  libsystem_pthread.dylib             0x00000001ce396874 start_wqthread + 8
)
2021-01-21 09:40:07.260672-0500 Outdoorist[2480:608307] [AXRuntimeCommon] AX Lookup problem - errorCode:1100 error:Permission denied portName:'com.apple.iphone.axserver' PID:2483 (
    0   AXRuntime                           0x00000001a3f9eeac 0C4A28F7-3959-3709-8C05-A1A91EED978B + 347820
    1   AXRuntime                           0x00000001a3f4dfb8 _AXGetPortFromCache + 548
    2   AXRuntime                           0x00000001a3f4f610 AXUIElementPerformFencedActionWithValue + 460
    3   UIKit                               0x00000001ce67823c 737C2677-858F-3820-AD45-0EBAABC788BB + 852540
    4   libdispatch.dylib                   0x0000000102e8bce4 _dispatch_call_block_and_release + 24
    5   libdispatch.dylib                   0x0000000102e8d528 _dispatch_client_callout + 16
    6   libdispatch.dylib                   0x0000000102e945ac _dispatch_lane_serial_drain + 748
    7   libdispatch.dylib                   0x0000000102e95234 _dispatch_lane_invoke + 452
    8   libdispatch.dylib                   0x0000000102ea0a5c _dispatch_workloop_worker_thread + 1456
    9   libsystem_pthread.dylib             0x00000001ce3935a4 _pthread_wqthread + 272
    10  libsystem_pthread.dylib             0x00000001ce396874 start_wqthread + 8
)
2021-01-21 09:40:07.261213-0500 Outdoorist[2480:608307] [AXRuntimeCommon] AX Lookup problem - errorCode:1100 error:Permission denied portName:'com.apple.iphone.axserver' PID:2483 (
    0   AXRuntime                           0x00000001a3f9eeac 0C4A28F7-3959-3709-8C05-A1A91EED978B + 347820
    1   AXRuntime                           0x00000001a3f4dfb8 _AXGetPortFromCache + 548
    2   AXRuntime                           0x00000001a3f4f610 AXUIElementPerformFencedActionWithValue + 460
    3   UIKit                               0x00000001ce67823c 737C2677-858F-3820-AD45-0EBAABC788BB + 852540
    4   libdispatch.dylib                   0x0000000102e8bce4 _dispatch_call_block_and_release + 24
    5   libdispatch.dylib                   0x0000000102e8d528 _dispatch_client_callout + 16
    6   libdispatch.dylib                   0x0000000102e945ac _dispatch_lane_serial_drain + 748
    7   libdispatch.dylib                   0x0000000102e95234 _dispatch_lane_invoke + 452
    8   libdispatch.dylib                   0x0000000102ea0a5c _dispatch_workloop_worker_thread + 1456
    9   libsystem_pthread.dylib             0x00000001ce3935a4 _pthread_wqthread + 272
    10  libsystem_pthread.dylib             0x00000001ce396874 start_wqthread + 8
)

对于解决此问题或如何避免此问题的任何帮助,我将不胜感激。

我正在使用 Xcode 版本 12.3(如果有任何相关的话)。


您描述的问题在 iOS 16.4.1 上可以重现,并且已经存在很长时间了。无论您的 iPhone 的辅助功能配置如何,都会发生这种情况。这是操作系统中的错误,而不是您的代码。然而,它本身并没有什么害处,而且您也无法修复。

未知客户端 Outdoorist 仅意味着正在运行的应用程序 Outdoorist 无权(间接)与辅助功能运行时对话。

iOS 的工作方式(事实上,基于 Darwin 的系统,iOS 就是一个例子)是不同的进程通过发送 Mach 消息相互协调。在进程之间的边界应用了安全性,因为并非每个进程都有“权利”在特定端口号上与另一个进程进行通信。

具体来说,这里不允许您的程序通过辅助函数要求可访问性运行时执行某些操作。

图像选择器很特别;它与您的实际应用程序隔离开来,以降低不良应用程序访问用户私人照片的安全风险。 可能 Apple 没有在操作系统中正确配置它以与 Accessibility Runtime 协作。

我们怎么知道呢?

在下面的解释中,我调用了我的示例应用程序understand-ax-crash因为我当时不明白问题是什么。 (其实这并不是崩溃)

当您在选择器中选择“选择”时,您会注意到日志消息,并且可以将其消息的来源设置为断点(按地址),然后可以重复这些步骤。当第二次按下“选择”时,我们会看到问题所在的上下文。

在这里我们可以看到,从您的应用程序间接启动的线程 4 发出了失败的请求(ax-remoteview-unregister-queue).

它将是可访问运行时,为 Mach 端口提供服务com.apple.iphone.axserver拒绝了这个请求。断点只会从我们停止执行的地方转储线程回溯。

我们在控制台中看到失败。

进一步查看反汇编代码可以了解产生此错误的步骤的详细信息。

您能做的唯一实际的事情就是向 Apple 报告该问题。

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

Xcode AX 查找问题 - 仅发生在真实设备上 的相关文章

  • Swift 3 中来自路径或文件名的 UIImage

    我的应用程序的文档目录中有一堆图像 我想将其中之一加载到我认为的 UIImage 中 这就是我所做的 myImage image UIImage named image jpg the file exist but this returns
  • 在制作自定义 iOS 键盘扩展时,如何创建一个与 Apple 原始退格键具有相同功能的按钮?

    我正在制作一个自定义键盘 其中有用于删除文本的删除按钮 其代码是 func addDelete deleteButton UIButton buttonWithType System as UIButton deleteButton set
  • 填充 UIScrollView 的垂直空间

    我正在研究一个具有UIScrollView 我想要做的是将标签固定在可滚动区域的顶部 并将按钮固定在底部 两者之间的空间最小 这个想法是 如果标签的高度增加 按钮将被向下推 以便用户必须向下滚动才能找到它 但是 如果标签很短 则标签和按钮之
  • 将文件上传到 Google 云端硬盘时出错

    我已经在我的应用程序项目中实现了 Google Drive SDK 并尝试在 Google Drive 中上传图像 但出现错误 我的代码来自Here https developers google com drive quickstart
  • 如何使用所有类型的 UTI 初始化 UIDocumentPickerViewController

    我想打开 UIDocumentPickerViewController 并且它应该允许用户选择所有类型的文件 我尝试在 UIDocumentPickerViewController init 方法中提及所有 UTI 但仍然找不到某些文件 如
  • Xcode - 配置:错误:在 $PATH 中找不到可接受的 C 编译器

    从头开始重建 Mac 安装了 xcode 和 rvm 然后尝试安装 rubies 但它们都给了我 Error running configure prefix Users durrantm rvm rubies ruby 1 9 3 p12
  • 如何将 Swift 字符串传递给 C 函数?

    我在将字符串从 swift 传递到用 c 编写的函数时遇到严重问题 我正在尝试在我的快速代码中执行此操作 var address 192 168 1 2 var port 8888 initSocket address port c 函数如
  • 以编程方式快速呈现视图控制器

    您好 我正在尝试将以下目标 C 代码转换为 swift 以便在单击按钮时从一个视图控制器导航到另一个视图控制器 任何帮助将非常感激 这是摘自苹果的编程指南 void add id sender Create the root view co
  • React Native 图像选择器图像上传在 iOS 上不起作用

    我在通过 fetch 和 react native image picker 将图像上传到 Multer 和 Express 后端时遇到问题 下面是我的 React Native 代码 try const data new FormData
  • 创建一个扩展来从 Swift 中的数组中过滤 nils

    我正在尝试编写一个 Array 扩展 它将允许可选 T 数组转换为非可选 T 数组 例如这可以写成一个自由函数 如下所示 func removeAllNils array T gt T return array filter 0 nil r
  • 如何确定当前处于活动状态的视图控制器/显示视图的视图控制器?

    在我的应用程序中 我正在排队一些本地通知 当它们触发时我必须呈现模式视图 问题是我有许多视图控制器 其中任何一个当前都可能处于活动状态 因此需要呈现模式视图控制器 如何确定当前正在使用哪一个 我将导航控制器设置为 Windows 根视图控制
  • 如果在系统设置中关闭隐藏式字幕,则不会显示字幕

    我正在尝试显示字幕 无论设备在辅助功能下设置了什么 目前 如果设备设置为英语并在设置中启用隐藏式字幕 则将播放英语字幕 如果设备设置为西班牙语 则将播放西班牙语字幕 我希望无论隐藏式字幕是否打开 都能播放字幕 我尝试添加这段代码 https
  • 在 Swift 中的类扩展函数中使用“self”

    我希望能够从 Nib 中提取 UIView 子类的实例 我希望能够调用 MyCustomView instantiateFromNib 并拥有 MyCustomView 的实例 我几乎准备好通过桥接标头移植我所拥有的工作 Objective
  • 为什么我不能在 func Swift 中使用 self

    我试图自行将 SKSpriteNodes 添加到函数中的视图中 但 Xcode 不允许我这样做 它给了我错误 使用未解析的标识符 self func indicate if test 0 var large CGFloat largest
  • 修剪 UIImage 边框

    这是我想要修剪的图像的示例 我想去掉图像周围的边框 在本例中是顶部和底部的黑条 我在Github上找到了一个库 CKImageAdditions https github com cmkilger CKImageAdditions 但是它似
  • 如何在 Objective C 类中设置布尔类型属性

    如何在 Objective C 类中使用布尔属性 我是这样做的 property nonatomic copy BOOL locationUseBool 但它给出了错误 具有 复制 属性的属性必须是对象类型 正确的申报方式是什么 您也可以这
  • 无法创建本机类型“NSObject”的实例

    我在执行下面的代码时遇到此错误 未能创建本机类型的实例 NSObject 可以通过将 Class ThrowOnInitFailure 设置为 false 来忽略此情况 var alert new UIAlertView Error Som
  • 是否可以使用 UITableViewStylePlain 禁用 UITableView 中的浮动标题?

    我正在使用一个UITableView布局内容 页面 我使用表视图的标题来布局某些图像等 如果它们不浮动而是保持静态 就像样式设置为时那样 我更喜欢它UITableViewStyleGrouped 其他则使用UITableViewStyleG
  • iOS:如何定义公共方法?

    如何在每个视图控制器类中定义一个可以从任何地方调用的方法 我有一个方法可以为我带来一个 json 文件 并且我希望它可以重用 因为我的应用程序上有多个 json 调用 你能帮助我吗 您可以通过类别添加它 EDIT 创建一个新的 h m 文件
  • NSCF 数组越界?

    我有一个相当简单的应用程序 使用 Core Data 和几个数组控制器 在 IB 中 除了 xcdatamodel 文件之外 没有它们的代码文件 当我运行应用程序时 我在日志中收到以下错误 应用程序仍然运行 但在转到 文件 gt 新文档 之

随机推荐