您是否可以动态分配CFBundleDocumentTypes(使用私有API)?

3

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

我在这里读到了一些信息,但没有什么帮助。你能动态地分配CFBundleDocumentTypes给你的Cocoa应用程序吗?

我在/var/mobile/Library/Caches/com.mobile.installation.plist中检查了一下,发现一些在Info.plist中的键也在com.mobile.installation.plist中。

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

有人知道我还能去哪儿看看吗?一定有私人框架的方法来实现这一点(因为这是针对越狱开发的)。

1个回答

0

好的,我找到了一个重新加载CFBundleDocumentTypes的小技巧

如果你能够访问,请删除这个文件:

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

然后告诉用户重新启动,如果只重新启动而没有重启,则需删除文件并再次重启(因为重新启动后,com.apple.LaunchServices-054.csstore文件会重新出现)。

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

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接