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

2023-12-23

在 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 记录了包 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",
            "[email protected] /cdn-cgi/l/email-protection"
        );
        CFBundleIcons =             {
            CFBundlePrimaryIcon =                 {
                CFBundleIconFiles =                     (
                    "app-icon",
                    "app-icon-iPad.png",
                    "[email protected] /cdn-cgi/l/email-protection"
                );
                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;
    };

Update

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

iOS 8 上有一个类似的文件,位于/var/mobile/Library/MobileInstallation/LastLaunchServicesMap.plist,但它可能仅在启动(重新启动)时更新。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在越狱的iOS设备上快速从应用程序的bundle id获取应用程序的目录? 的相关文章

  • 使用 UIImage 和 caf 创建视频文件的问题

    我已经阅读了在互联网上可以找到的所有关于此功能的帖子 并且我在创建视频文件方面取得了一些成功 但我还剩下 3 个问题 而且似乎没有人提到过这一点 我有 3 个问题 视频在某些播放器上无法正常播放 quicktime window 视频只播放
  • 如何通过 HTTP POST 发送充满对象的 NSArray?

    我在 iPhone 端有一个产品 购物清单 由具有名称 product id 等的产品对象组成 我希望将此列表发送到服务器 在那里我将服务器上的列表与 iphone 中的列表进行比较 以合并所做的更改并将合并的列表发送回 iphone 如何
  • iOS 游戏套件 回合制比赛 程序化复赛

    我有一个 2 人 iOS 回合制游戏 使用游戏中心和 GKTurnbasedMatch 有没有办法在比赛结束后以编程方式重新匹配对手 我想让玩家一键开始彼此之间的新比赛 如果没有一键式方法 有哪些潜在的替代方案 确实 它看起来是一个full
  • 将 Apple Touch ID 或 Samsung 指纹识别器与我的应用程序集成

    我目前正在开发一个 Android ios 移动应用程序 它有以下要求 请告诉我是否可以使用最新的智能手机 平板电脑上内置的指纹识别器来实现我的要求 我有一个在云上运行的人力资源管理系统 其中有员工详细信息 现在我正在开发一个用于员工考勤的
  • 链接器命令失败,退出代码为 1 -- Firebase

    对 iOS 开发相当陌生 有些人在将 firebase 安装到我的 iOS 应用程序中时遇到了一些麻烦 本质上 该应用程序要做的就是从 Firebase 数据库中获取有关全国各地路线的信息 该信息将输出到表格视图 该表格视图将允许用户选择其
  • UITableView - 节标题。如何更改文字?

    我有一个使用故事板的项目 我有一个带有静态单元格和组样式的 UITableView 我需要根据分段控件 在另一部分中 中所做的选择来更改一个部分中的部分文本 我找到了一些解决方案 表明您应该使用覆盖此方法 NSString tableVie
  • 在 XMPPFrameWork ios 中将 XMPPMessage 保存在 CoreData 中

    我正在开发一个聊天应用程序并使用 xmppframework 现在需要将消息存储在持久存储中 谁能告诉我如何在 IOS 中从 CoreData 存储和检索消息 由于您使用的是 github robbiehanson XMPPFramewor
  • 如何在 OauthSwift 库中设置回调 URL

    我正在开发一个项目 其中我正在实现 OAuthSwift 库以连接到同时使用 OAuth1 和 OAuth2 的多个不同社交网站 我已将应用程序设置为加载 Web 视图 将我带到我的社交网站 但我无法让应用程序重定向回来 一旦我加载我的凭据
  • Jenkins 上的 XCode 项目陷入“codesign”

    我使用 Jenkins 与 XCode 插件进行持续集成 有一个 Jenkins 坚持的项目 usr bin codesign force sign 接下来是旋转器 永远旋转 我以前从未见过这个 以前有人见过这个吗 是配置文件问题还是证书问
  • 快速检测屏幕上任意位置的触摸

    我知道你可以使用touchesBegan touchesEnded等来检测触摸 这些都有效 唯一的问题是 它们只检测视图本身的触摸 而不检测视图顶部的任何内容 例如文本字段 我的目标是在一段时间不活动后创建一个超时 如果触摸屏幕 超时将被重
  • 如何构建一个类似iOS的设置模块?

    我对 iPhone 开发真的很陌生 目前我正在为我的应用程序设置一个选项模块 用户应该能够编辑一些首选项 我的第一个方法是有一些文本字段 但我真的很喜欢 iOS 处理编辑首选项的方式 有某种标签 单击该标签将打开另一个视图 其中包含用于编辑
  • Xcode 4:删除构建设置中的项目

    在 XCode 4 0 中 有一个新设计的 构建设置 页面 我的问题是 一旦指定设置 我就看不到如何删除它 示例 我已将目标级别的 版本控制系统 更改为 Apple Generic 后来我意识到我应该在项目级别设置它 所以我想删除目标级别设
  • 为什么缓存清单在桌面上按预期工作时可能无法让移动 Safari 缓存站点?

    我正在本地玩一个简单的网络应用程序 但不太明白为什么它在 iPhone 上没有正确缓存 我正在服务一个 manifest文件具有正确的 MIME 类型 并且当我在桌面 Safari Chrome 和 Firefox 上打开或关闭本地服务器时
  • UISlider 拇指中心位于轨道的起点和终点

    默认行为UISlider是它的拇指没有集中在轨道的开始 结束处 就像下面这样 我想修改它的行为以获得 拇指的中心可以位于起点或终点 我试图用空来覆盖开始 结束UIView 效果是看起来几乎没问题 但是拇指有阴影 显示了我在某些位置的黑客攻击
  • 从 Social.framework(iOS6) 获取 Facebook 访问令牌

    我需要检索我在 设置 应用程序中设置的系统帐户的 Facebook 访问令牌 我知道 Social framework iOS6 知道我所有的 FB 帐户信息 并且我可以使用 SLRequest 类对 Graph API 执行 API 调用
  • 显示来自 weburl iphone sdk 的 pdf

    我正在开发一个项目 我想显示网站上的 pdf 我有 pdf 的 url 知道如何做到这一点 我还想创建网站上 pdf 的缩略图 您可以在您的设备中显示 pdf 文件 直接将 url 传递给 UIWebView UIWebView webVi
  • NSString 的 UTF8String 的 CFString 等价物是什么?

    今天我陷入了僵化状态 因为我无法将一段简单的 ObjC 代码转换为其等效的 Cpp 代码 我有这个 const UInt8 myBuffer NSString aRequest UTF8String 我正在尝试用以下内容替换它 const
  • 在 iOS 7 中创建 UUID 和 UDID

    我想创建 UUID 我下面有可以创建 UUID 的代码 如何在 iOS7 中创建具有多个供应商相同 ID 的 UDID NSString stringWithNewUUID CFUUIDRef uuidObj CFUUIDCreate ni
  • 按字符串删除所有重音符号

    surnameField text Fal l opo remove space and apostrophe NSString surnarmeInput surnameField text stringByReplacingOccurr
  • MKAnnotationView 的不同字体

    在iPhone SDK地图上的标注气泡上 可以更改标题和副标题属性的字体吗 我对标注气泡中显示的默认字体不满意 并且希望使用不同的字体来匹配我的应用程序的其余部分 然而 我没有看到太多提及这一点 这让我担心这可能是不可能的 我见过构建自定义

随机推荐