你能动态分配CFBundleDocumentTypes(使用私有API吗?)

时间:2014-02-12 16:24:05

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

我正在尝试为现有应用添加额外的“打开”功能。我找到了一种方法来将必要的CFBundleDocumentTypes添加到应用程序包中的Info.plist。现在我唯一的问题是让iOS注册这个键以允许其他应用程序“打开”。我假设重启后iOS会检查所有已安装的应用程序的Info.plist文件,并在加载时注册CFBundleDocumentTypes。不是这种情况。似乎我用编辑过的Info.plist&创建了一个IPA。将它安装在我的设备上,“Open In”会在整个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

有谁知道我还能在哪儿看?私有框架必须有这样做。 (因为这是为了越狱发展)

1 个答案:

答案 0 :(得分:0)

好吧,我发现有点黑客重新加载CFBundleDocumentTypes

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

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

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

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

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