Hi,
I'm trying to retrieve app icons from an iOS device by using devicectl
.
Unfortunately, the appIcon
command was broken when I first tried it, it worked for the last couple of months, but with the new macOS/Xcode, it is no longer working. Reference: https://developer.apple.com/forums/thread/738793
As a result, I'm now looking for alternative ways to fetch and app icon.
When retrieving a list of apps
using devicectl
, the app file location is returned, e.g. /private/var/containers/Bundle/Application/57ABEEB5-D488-4215-8C9B-8951BA401B33/WhatsApp.app
for WhatsApp on my iPhone.
The .app
file contains the app icon and therefore I'm wondering if it's possible to copy this file to my Mac.
xcrun devicectl device info files -h
mentions file options:
FILE OPTIONS:
--username <username> The username of the user we should target. Only relevant for certain domains.
--domain-type <domain-type>
The file service domain. Valid values are: temporary, appDataContainer,
appGroupDataContainer, systemCrashLogs. You must specify a valid domain and identifier
pair. Certain domains must be accompanied by an identifier that provides additional
context. For example, if the domain is an app data container, the identifier is the
bundle ID of the app. For temporary directories, the identifier is a unique
client-provided string which is used to get your own space, separate from those of
other clients.
--domain-identifier <domain-identifier>
A unique string used to provide additional context to the domain.
The domain types are:
- temporary: for temporary directories, only to get your own space
- appDataContainer: container identified by app identifier
- appGroupDataContainer: container identified by app group identifier
- systemCrashLogs: crash logs
The .app
file is located in the /private/var/containers/Bundle/Application
directory.
The available domain types do not seem to include a way to access this file?
Is there a way to copy .app
files using devicectl
?
How can I effectively use the .app
paths returned by the apps
command?
The available domain types do not seem to include a way to access this file?
Right. devicectl
isn’t intended to be a way to access arbitrary file system locations on the iOS device. Those domains exist to cover specific cases that are likely to be useful during app development.
Share and Enjoy
—
Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"