ios - 您可以动态分配 CFBundleDocumentTypes(使用私有(private) API 吗?)

标签 ios objective-c jailbreak iphone-privateapi cfbundledocumenttypes

我正在尝试向现有应用添加额外的“打开方式”功能。我找到了一种将必要的 CFBundleDocumentTypes 添加到应用程序包中的 Info.plist 的方法。现在我唯一的问题是让 iOS 注册此 key 以允许从其他应用程序“打开”。我假设在重新启动后 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

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

最佳答案

好吧,我发现了一些重新加载 CFBundleDocumentTypes

的技巧

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

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

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

希望这对越狱社区中的某个人有所帮助,如果他们设法偶然发现的话。

请注意,我认为此方法仅适用于 iOS7。 :(

关于ios - 您可以动态分配 CFBundleDocumentTypes(使用私有(private) API 吗?),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21733629/

相关文章:

ios - Coreplot折线图线不可见

objective-c - 如何访问 viewController 中的方法

iphone - 从跳板获取应用程序图标图像(越狱)

crash - Theos的调整导致__NSAutoreleaseNoPool()崩溃

ios - 是否可以在越狱的 iOS 设备上编译 X86 程序?

ios - 准备 segue : Cannot convert value of type 'UIViewController' to specified type 'SecondViewController'

ios - 解密来自Apple Review的象征性崩溃日志

ios - 当 newValue 没有分配任何内容时,为什么这段快速代码可以工作?

ios - 应用程序因 startAnimating 方法而崩溃

iphone - 删除按钮按下时的 MKMapView 覆盖