Skip to content

Add AFC (Apple File Conduit) KIO worker

Kai Uwe Broulik requested to merge work/kio-afc into master

It uses libimobiledevice to provide file system access to iOS devices.

Overview page afc:/ Screenshot_20200607_200425

A folder Screenshot_20200607_200432

Inaccessible/untrusted device found when on afc:/ Screenshot_20200607_194045

What works:

  • Listing plugged in iOS devices
  • Internal state also tracks adding/removal, also refreshing afc:/ overview reloads device list as there appears to be no signal for "device is now trusted"
  • Listing directories, file birthtime/mtime, size
  • Opening files (both small ones and large ones where it does multiple reads), even seamlessly through kiofuse
  • Creating, editing files, copying onto and off the device
  • Creating folders
  • Renaming files
  • Moving files
  • Deleting files and folders (folders also recursively)
  • file system free space (shows free space available to the user and might differ from what the device shows in Settings)

What wasn't tested:

  • Seeking
  • Setting mtime (our call after put works so I assume setModifiedTime also works)
  • Truncating

It allows accessing app shared files via "Houearrest API" through a magic "Apps" folder. This is somewhat flaky especially on newer iOS but has become a lot better after I upgraded to neon 22.04.

@dfaure @meven @fvogt @sitter @ngraham

Edited by Kai Uwe Broulik

Merge request reports