【问题标题】:Can you dynamically assign CFBundleDocumentTypes (with private API?)您可以动态分配 CFBundleDocumentTypes(使用私有 API 吗?)
【发布时间】:2014-03-11 02:45:16
【问题描述】:

我正在尝试向现有应用添加额外的“打开方式”功能。我找到了一种将必要的CFBundleDocumentTypes 添加到应用程序包中的 Info.plist 的方法。现在我唯一的问题是让 iOS 注册此密钥以允许从其他应用程序“打开”。我假设重启后 iOS 会检查所有已安装应用程序的 Info.plist 文件并在加载时注册CFBundleDocumentTypes。不是这种情况。似乎如果我使用编辑过的 Info.plist 创建一个 IPA 并将其安装在我的设备上,“打开方式”会在整个 iOS 中自动注册。

我在这里阅读并没有太多帮助。 Can you dynamically assign CFBundleDocumentTypes to your Cocoa application?

我签入了/var/mobile/Library/Caches/com.mobile.installation.plist 我注意到Info.plist 中的一些键在com.mobile.installation.plist

例如; UIDeviceFamily, UIBackgroundModes, UIRequiredDeviceCapibilities 但没有 CFBundleDocumentTypes

有人知道我还能去哪里看吗?必须有办法使用私有框架来做到这一点。 (因为这是越狱开发的)

【问题讨论】:

    标签: ios objective-c jailbreak iphone-privateapi cfbundledocumenttypes


    【解决方案1】:

    好的,我发现了一个重新加载CFBundleDocumentTypes的技巧

    如果您可以访问,请删除该文件:

    /var/mobile/Library/Caches/com.apple.LaunchServices-054.csstore 
    

    然后告诉用户重新启动,如果重新启动完成,您将删除文件并再次重新启动。 (因为com.apple.LaunchServices-054.csstore 文件在重新启动后返回。)

    希望这可以帮助越狱社区中的人,如果他们设法偶然发现。

    注意,我认为这种方法只适用于 iOS7。 :(

    【讨论】:

      猜你喜欢
      • 2012-01-22
      • 1970-01-01
      • 2011-03-05
      • 1970-01-01
      • 2021-03-31
      • 2019-01-28
      • 1970-01-01
      • 2021-07-23
      • 1970-01-01
      相关资源
      最近更新 更多