You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

使用libimobiledevice访问iPhone应用容器时AFC服务启动失败求助

解决libimobiledevice挂载iOS 10.3应用容器的AFC服务错误

嘿,我看到你在尝试用libimobiledevice给iOS 10.3的iPhone 5挂载应用容器、复制日志时,碰到了这个错误:

Failed to start AFC service 'com.apple.mobile.house_arrest' on the device.

你用到的命令是:

# Mount the app container
ifuse Downloads/device_mounts/$DeviceId -u $DeviceId --container $BundleId

下面是几个可能帮你解决问题的方向:

1. 先确认设备已信任你的电脑

iOS设备第一次连接电脑时,必须在设备上点击「信任此电脑」并输入锁屏密码确认。如果之前没操作过,或者信任关系因为重启/换线失效,就会导致服务启动失败。你可以试试:

  • 拔掉设备,重新插上
  • 在iPhone弹出的信任提示里选「信任」,输入密码完成验证

2. 更新libimobiledevice到兼容iOS 10.3的版本

旧版本的libimobiledevice可能对iOS 10.3的支持有漏洞,建议更新到最新稳定版:

  • 如果你用Homebrew(Mac):
    brew update && brew upgrade libimobiledevice
    
  • 如果你用Ubuntu/Debian类Linux:
    sudo apt update && sudo apt install --only-upgrade libimobiledevice6 libimobiledevice-utils
    

3. 核对Bundle ID是否完全正确

命令里的$BundleId如果拼写错了,也会触发这个错误。你可以用ideviceinstaller列出设备上所有应用的Bundle ID来核对:

ideviceinstaller -l

找到目标应用对应的Bundle ID,替换后再重新执行挂载命令。

4. 重启设备和相关服务

有时候设备或电脑端的服务进程异常会导致这类问题:

  • 重启你的iPhone 5,再重新连接电脑
  • 重启电脑上的usbmuxd服务(不同系统命令不同):
    # Mac系统
    sudo launchctl stop com.apple.usbmuxd && sudo launchctl start com.apple.usbmuxd
    
    # Linux系统
    sudo systemctl restart usbmuxd
    

5. 注意iOS 10.3的安全机制调整

iOS 10.3对应用容器访问的权限做了一些调整,你可以检查:

  • 设备有没有开启「屏幕使用时间」或「限制访问」里的相关权限限制
  • 如果是越狱设备,确认越狱环境稳定,并且安装了对应版本的AFC2服务补丁(iOS 10.3的越狱工具需要匹配的补丁才能正常访问应用容器)

内容的提问来源于stack exchange,提问作者Jan Tamm

火山引擎 最新活动