libimobiledevice
特征
libimobiledevice是一个跨平台软件库,可谈论与iOS设备交互的协议。
与其他项目不同,它不取决于使用任何现有的专有图书馆,也不需要越狱。
一些关键功能是:
- 界面:实现许多设备服务的高级接口
- 实施:面向对象的体系结构和服务抽象层
- 跨平台:在Linux,MacOS,Windows和Android平台上进行测试
- 实用程序:为设备服务提供各种命令行实用程序
- SSL :允许在OpenSSL,Gnutls或MbedTL之间进行选择来处理SSL通信
- 网络:支持网络连接使用启用的“ WiFi Sync”设备
- Python:为Python提供基于Cython的绑定
许多设备服务协议的实施接口允许应用程序:
- 设备的访问文件系统
- 访问文件共享应用程序的文件
- 检索有关设备的信息并修改各种设置
- 以与iTunes兼容的本机方式备份和还原设备
- 管理设备上的应用程序图标布置
- 安装,删除,列出并基本管理应用程序
- 使用官方服务器激活设备
- 管理联系人,日历,笔记和书签
- 检索并删除CrashReports
- 检索各种诊断信息
- 建立用于应用调试的调试连接
- 安装文件系统图像
- 正向设备通知
- 管理设备配置
- 从设备屏幕上获取屏幕截图(需要安装的开发人员图像)
- 模拟设备的地理位置更改(需要安装的开发人员图像)
- 中继设备的系统。
- 公开Webkit远程调试的连接
…还有更多。
自2007年8月以来,该图书馆正在开发,目的是将这些设备的支持带到Linux桌面。
安装 /入门
Debian / Ubuntu Linux
首先安装所有必需的依赖项并构建工具:
libimobiledevice-glue-dev \\
libtatsu-dev \\
libssl-dev \\
usbmuxd\”>
sudo apt-get install \\ build-essential \\ pkg-config \\ checkinstall \\ git \\ autoconf \\ automake \\ libtool-bin \\ libplist-dev \\ libusbmuxd-dev \\ libimobiledevice -glue-dev \\ libtatsu-dev \\ libssl-dev \\ usbmuxd
注意:libtatsu(因此, libtatsu-dev )是一个新的库,最近才发布,您必须从源头构建它。
如果要选择地构建文档或Python绑定,请使用:
sudo apt-get install \\ doxygen \\ cython
然后克隆实际的项目存储库:
libimobiledevice.git
cd libimobiledevice \”>
git clone https://**github*.com/libimobiledevice/ libimobiledevice .git
cd libimobiledevice
现在您可以构建并安装它:
./autogen.sh make sudo make install
如果您需要传递给./configure自定义前缀或其他选项,则可以将它们直接传递给./autogen.sh 。
./autogen.sh --prefix=/opt/local --enable-debug make sudo make install
默认情况下,OPENSL将用作TLS/SSL库。如果您喜欢gnutls,请与这样的--with-gnutls配置:
./autogen.sh --with-gnutls
也支持MBEDTL,可以通过传递--with-mbedtls进行配置来启用。如果未在默认位置安装MBEDTL,则需要将环境变量设置mbedtls_INCLUDES到包含MBEDTLS标头的路径和mbedtls_LIBDIR来设置库路径。可选地, mbedtls_LIBS可以直接设置库名。例子:
./autogen.sh --with-mbedtls mbedtls_INCLUDES=/opt/local/include mbedtls_LIBDIR=/opt/local/lib
用法
有关在您的应用程序中使用库的文档尚不可用。目前,“黑客方式”是查看所包含的实用程序的实现。
公用事业
该库将工具目录中的以下命令行实用程序捆绑在一起:
| 公用事业 | 描述 |
|---|---|
idevice_id |
列出给定设备的附加设备或打印设备名称 |
idevicebackup |
为设备创建或还原备份(遗产) |
idevicebackup2
|
为运行iOS 4或更高版本的设备创建或还原备份 |
idevicebtlogger |
从设备捕获蓝牙HCI流量(需要日志配置文件) |
idevicecrashreport
|
从设备检索崩溃报告 |
idevicedate |
显示当前日期或将其设置在设备上 |
idevicedebug |
与设备的调试服务器服务互动 |
idevicedebugserverproxy |
代理从设备的调试服务器连接进行远程调试 |
idevicediagnostics |
与设备的诊断接口交互 |
ideviceenterrecovery |
使设备输入恢复模式 |
ideviceimagemounter |
在设备上安装磁盘图像 |
ideviceinfo |
显示有关连接设备的信息 |
idevicename |
显示或设置设备名称 |
idevicenotificationproxy |
在设备上发布或观察通知 |
idevicepair |
管理与设备和USBMUXD的主机配对 |
ideviceprovision |
在设备上管理配置配置文件 |
idevicescreenshot |
从连接的设备获取屏幕截图 |
idevicesetlocation |
模拟设备上的位置 |
idevicesyslog |
连接设备的继电器系统。 |
afcclient
|
通过AFC/outerrest与设备文件系统进行交互 |
请咨询每个实用程序的使用信息或手册页,以获取可用命令行选项的文档和诸如此类的用法示例:
ideviceinfo --help man ideviceinfo
贡献
我们欢迎任何人的捐款,并感谢每个拉的请求!
如果您想做出贡献,请分配master分支,更改,提交并发送拉动请求进行审查。批准后,它可以合并到主代码库中。
如果您打算贡献更大的变化或重大重构,请先创建一张票,以预先讨论这个想法,以确保每个人的精力减少。
请确保您的贡献遵循:
- 尝试遵循项目的代码样式
- 提交消息应很好地描述变化而不会太短
- 尝试将更大的更改分为公共域的单个提交
- 使用您的真实姓名和有效的电子邮件地址
我们仍在制定指导方针,因此请遵守我们!
链接
- 主页:https://libimobiledevice.org/
- 存储库:https://github.com/libimobiledevice/ libimobiledevice .git
- 存储库(镜子):https://git.libimobiledevice.org/ libimobiledevice .git
- 问题跟踪器:https://github.com/libimobiledevice/ libimobiledevice /
- 邮件列表:https://lists.libimobiledevice.org/mailman/listinfo/ libimobiledevice -devel
- Twitter:https://twitter.com/libimobiledev
执照
该图书馆和实用程序均根据GNU LISHER PORMINAL许可证v2.1获得许可,该库也包含在COPYING文件中的存储库中。
学分
苹果,iPhone,iPad,iPod,iPod Touch,Apple TV,Apple Watch,Mac,iOS,iPados,TVOS,WatchOS和MacOS是Apple Inc.的商标。
该项目是一个独立的软件,尚未获得Apple Inc.的授权,赞助或以其他方式批准。
README更新:2024-10-22
