gpt4 book ai didi

iphone - 如何从越狱的 iOS 设备上的 bundle id 快速获取应用程序的目录?

转载 作者:可可西里 更新时间:2023-11-01 04:21:22 26 4
gpt4 key购买 nike

在iOS设备中,所有用户应用程序都位于/var/mobile/Applications目录下,每个应用程序都有一个唯一的随机uuid作为目录名,例如:

/var/mobile/Applications/15FD62FD-2BEB-4C1E-A9B8-BC93E5C721CC

uuid 是 15FD62FD-2BEB-4C1E-A9B8-BC93E5C721CC

现在我想通过应用程序的包标识符获取目录,我的解决方案是枚举 /var/mobile/Applications 目录,从 Info.plist 获取包标识符并检查。

这个解决方案相当慢,有没有更快的方法来做到这一点?

例如如果有一个 plist 记录了 bundle id 到 uuid 的映射,那么我可以读取该文件以避免目录枚举。

最佳答案

我想你要找的文件是

/var/mobile/Library/Caches/com.apple.mobile.installation.plist

例如,它包含每个应用程序的如下信息:

    "com.zillow.ZillowMap" =         {
ApplicationDSID = 216284405;
ApplicationType = User;
CFBundleDisplayName = Zillow;
CFBundleExecutable = ZillowMap;
CFBundleIconFiles = (
"app-icon",
"app-icon-iPad.png",
"app-icon-iPad@2x.png"
);
CFBundleIcons = {
CFBundlePrimaryIcon = {
CFBundleIconFiles = (
"app-icon",
"app-icon-iPad.png",
"app-icon-iPad@2x.png"
);
UIPrerenderedIcon = 1;
};
};
CFBundleIdentifier = "com.zillow.ZillowMap";
CFBundleName = ZillowMap;
CFBundleShortVersionString = "6.1.0112";
CFBundleVersion = "6.1.0112";
CodeInfoIdentifier = "com.zillow.ZillowMap";
Container = "/private/var/mobile/Applications/B9284FBE-E558-4A65-A7E4-AE20CDAD9A1D";
Entitlements = {
"application-identifier" = "JEWMY3RZ4A.com.zillow.ZillowMap";
"aps-environment" = production;
};
EnvironmentVariables = {
"CFFIXED_USER_HOME" = "/private/var/mobile/Applications/B9284FBE-E558-4A65-A7E4-AE20CDAD9A1D";
HOME = "/private/var/mobile/Applications/B9284FBE-E558-4A65-A7E4-AE20CDAD9A1D";
TMPDIR = "/private/var/mobile/Applications/B9284FBE-E558-4A65-A7E4-AE20CDAD9A1D/tmp";
};
IsUpgradeable = 1;
LSRequiresIPhoneOS = 1;
MinimumOSVersion = "5.0";
Path = "/private/var/mobile/Applications/B9284FBE-E558-4A65-A7E4-AE20CDAD9A1D/ZillowMap.app";
SequenceNumber = 2618;
SignerIdentity = "Apple iPhone OS Application Signing";
UIDeviceFamily = (
1,
2
);
UIPrerenderedIcon = 1;
};

更新

此文件已在 iOS 8 中删除:( https://www.theiphonewiki.com/wiki/Com.apple.mobile.installation.plist )

/var/mobile/Library/MobileInstallation/LastLaunchServicesMap.plist 中存在适用于 iOS 8 的类似文件,但它可能仅在启动(重启)时更新。

关于iphone - 如何从越狱的 iOS 设备上的 bundle id 快速获取应用程序的目录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17481667/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com