os x 编译libimobiledevice 遇到的问题

本文介绍在MacOS环境下解决多版本Python路径冲突问题,并通过brew安装Python及相关依赖库(Cython、libplist、libusbmuxd、libimobiledevice)的详细步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

参考木桩大神: http://blog.imaou.com/opensource/2014/12/04/compile_python-imobiledevice_on_macos.html


由于存有多个版本的Python, 会出现路径问题, 所以将/System/Library/Frameworks/Python.framework 和 /Library/Python 文件夹改了名,让它只能找到我们自己安装的Python

之前是使用的MacPorts来管理的软件包,但是上面包更新速度比较慢,则改用了brew, 吐个槽,下载brew那个慢啊(不挂VPN下不动)。。


1. 安装好brew后,安装 Python, Cython

2. 安装 libplist, 从https://github.com/libimobiledevice 下载源码编译,configure 的时候会提示使用的(non-standard-path)非标准的python路径,于是在configure时指定Python路径

先获取Python路径: python-config --prefix 会得到 /usr/local/Cellar/python/2.7.9/Frameworks/Python.framework/Versions/2.7

重新configure:  ./autogen.sh LDFLAGS="-L/usr/local/Cellar/python/2.7.9/Frameworks/Python.framework/Versions/2.7/lib"

确保看到Python binding 是启用的

然后make & make install , 再测试 import plist 没问题, 这块折腾了好多遍,就是多个版本的Python导致,后来Email木桩大神,建议使用自定义的Python解决


再执行 brew link --overwrite libplist 将libplist 放到  /usr/local/Cellar/libplist/x.xx 在x.xx目录下mkdir cython, 将libplist源文件中的cython文件夹内的plist.p*拷贝过来,

此步骤是为安装libimobiledevice做准备,否则libimobiledevice会找不到Python Binding...... 坑


3. 安装libusbmuxd:

   直接./autogen.sh, 本以为一切顺利,结果。。。   提示libplist找不到或者 plist的符号链接找不到,总之就是libplist没找着, 

   解决方法:  export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig

   再 configure, make & make install  一切顺利 


4. 安装libimobiledevice:

  configure, make & make install  一切顺利 


最后连接好终端 idevice_id -l 看结果

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值