Fix fsync with --app=bundleId#612
Conversation
|
@zemanj this code change cannot be merged like this, vendContainer and vendDocuments serve different purposes. One for xcode installed apps and one for apps sharing their documents, vendContainer doesn't work if an app doesn't share files. If you could come up with an proposal on how to support both modes we could merge this. |
|
Thanks for digging into this. I reviewed the current diff and this is not just a rename: the behavior changes the house_arrest request from |
|
Maintainer review notes — thanks for this, @zemanj, and for the precise libimobiledevice writeup. The diagnosis is correct: 1. The PR has gone stale ( 2.
The runner writes its test config to Recommended approach (surgical, no regression):
Your core insight ( |
Fixes #593.
According to libimobiledevice issue 193 from 2015 (in particular, this comment), the service
com.apple.mobile.house_arrestdoesn't support theVendContainercommand anymore (unless the app was installed via XCode).However, for apps that have
UIFileSharingEnabledset totruein their information property list, theVendDocumentscommand can be used instead to access the app's/Documentsdirectory.This PR replaces
VendContainerbyVendDocumentsto make this work.Note that when using the go-iOS
fsynccommand with the option--app=BUNDLE_IDset, thePATHpassed with the option--path=PATHhas to start with/Documents(in particular,/won't work).For example, to use the
fsync treecommand for a specific app, one has to callios fsync --app=BUNDLE_ID tree --path=/Documents.