Build app list from worse_query path traversal with name resolution
This commit is contained in:
1 parent
176ff30ee5
commit
9bc7b9bcc6
5 files changed
+204
-25
No files matched your search
@@ -33,6 +33,20 @@ source/
|
||||
- Detail page version/path/date/app-group support.
|
||||
- Replace the `filza://` prompt with the built-in WQ Files browser.
|
||||
- Present media through the native `AVPlayerViewController`.
|
||||
- Build the app list by traversing `/private/var/mobile/Containers/Data/Application` through `worse_query` on every launch. LaunchServices is optional and only used for names and bundle paths.
|
||||
- Resolve app names from the native LaunchServices API, the bundle `Info.plist`, LaunchServices display names, and finally a prettified bundle ID.
|
||||
- Rebuild the list after preparation if the first load ran before the container registry was ready.
|
||||
|
||||
## 应用列表 / App list
|
||||
|
||||
The list no longer requires a readable LaunchServices CSStore:
|
||||
|
||||
1. Enumerate app data containers through `wq_enumerate` (MCM / LaunchServices API / full inode scan fallback).
|
||||
2. Resolve each container's bundle ID from the native API, LaunchServices map, container xattr, metadata plist, or bundle ID resolver.
|
||||
3. Resolve the display name from the native API, bundle `Info.plist`, LaunchServices display names, or the bundle ID.
|
||||
4. If the screen loaded before preparation finished, reload it once the registry is ready.
|
||||
|
||||
The first full scan on a device where the LaunchServices API and container manager return nothing can take around 30 seconds; the launch progress sheet is shown. Later launches reuse the incremental scan cache.
|
||||
|
||||
## 构建要求 / Build requirements
|
||||
|
||||
|
||||
Reference in new issue
Block a user