是否有预编译版本的 libimobiledevice 可以与我的应用程序一起分发?

Is there a precompiled version of libimobiledevice that I can distribute with my application?

我正在制作一个使用 libimobiledevice 且跨平台(Mac、Windows 和 Linux)的应用程序。我无法访问所有平台,所以我无法自己编译它,这样做很痛苦。

是否有适用于每个平台的预编译版本的 libimobiledevice,我可以将其与我的应用程序一起分发,以便用户不必手动安装它?

为 Windows 和 macOS 提供 libimobiledevice 的二进制分发相对容易。

对于 Windows 和 macOS,您可以在 https://github.com/libimobiledevice-win32/imobiledevice-net 下载 libimobiledevice 的预编译版本(参见发布页面)。不可否认,存储库名称有点偏离。它确实为 libimobiledevice 提供 Windows 和 macOS 二进制文件,如果您只想使用二进制文件,则不必使用 .NET。

二进制文件是通过 Azure Pipelines 构建系统发布的,因此您可以在 https://dev.azure.com/libimobiledevice-win32/imobiledevice-net/_build 或更新的构建可用时获取它们。

在 Linux 上,情况就不同了,因为各种 Linux 发行版带有不同版本的 libimobiledevice 的某些依赖项(例如 OpenSSL)。 Linux.

的大多数发行版都需要不同的二进制包

您可以使用 PPA https://launchpad.net/~quamotion/+archive/ubuntu/ppa,它为 Ubuntu 14.04、16.04 和 18.04 提供了 libimobiledevice 的编译版本。 大多数 Linux 发行版还包括一个 libimobiledevice 包,但它可能已经过时 - 请注意。