【问题标题】:Unable to Handshake with iOS Device. Getting PList Error无法与 iOS 设备握手。获取 PList 错误
【发布时间】:2018-10-08 23:26:15
【问题描述】:

我想将通过 USB 连接的 iOS 设备访问到我的 c# 应用程序中。我正在为此使用 iMObileDevice 库。

但是当我尝试与设备握手时,它会给我在不同设备上的以下错误:-

  Additional information: An Lockdown error occurred. The error code was 
  PlistError

这是我正在使用 iPhone 6S Plus

  Additional information: An Lockdown error occurred. The error code was 
  SslError

我在 iPhone 5 中遇到此错误。

两个操作系统版本都在 10 以上

这是我的代码:-

            iDeviceHandle deviceHandle;
            idevice.idevice_new(out deviceHandle, udid).ThrowOnError();

            LockdownClientHandle lockdownHandle;
            lockdown.lockdownd_client_new_with_handshake(deviceHandle, out lockdownHandle, "Quamotion").ThrowOnError();

            string deviceName;
            lockdown.lockdownd_get_device_name(lockdownHandle, out deviceName).ThrowOnError();

            Console.WriteLine(deviceName);

            deviceHandle.Dispose();
            lockdownHandle.Dispose();

我无法通过lockdownd_client_new_with_handshake() 方法与设备握手。

谁能告诉我我做错了什么以及如何以正确的方式做。我的任务是在设备上安装应用程序。

提前致谢。

【问题讨论】:

  • 您似乎在使用 imobiledevice-net。您使用的是最新版本的 imobiledevice-net (1.2.1-r386) 吗? SSL 错误等通常表明您使用的是旧版本的 imobiledevice-net。
  • 你能解决这个问题吗?
  • @lief480 我使用LibiMobileDevice 的编译Windows 文件而不是iMobileDevice 来完成我的任务

标签: c# ios iphone usb libimobiledevice


【解决方案1】:

使用 iMobileDevice-net(最新稳定版 1.2.0.112)我从 lockd_client_new_with_handshake() 方法中得到了完全相同的错误。我改为安装 1.2.1-r202,它似乎解决了这个问题。

我也尝试过更新的版本,例如 r308,但我开始收到以下错误: https://github.com/libimobiledevice-win32/imobiledevice-net/issues/54

【讨论】:

  • 更好的方法是为LibiMobileDevice而不是这个包编译代码,因为你可以根据你的要求自定义它
  • 你可以试试 1.2.31 版本吗?我们最近做了一些工作来修复 dll 加载问题,希望得到反馈:)。
  • 我试过 1.2.76 版本,效果很好,不再出现握手错误。
猜你喜欢
  • 1970-01-01
  • 2014-10-04
  • 2015-11-28
  • 1970-01-01
  • 2018-05-16
  • 2020-08-14
  • 2011-09-26
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多