我正在尝试为现有应用添加额外的“打开”功能。我找到了一种方法来将必要的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
有谁知道我还能在哪儿看?私有框架必须有这样做。 (因为这是为了越狱发展)
答案 0 :(得分:0)
好吧,我发现有点黑客重新加载CFBundleDocumentTypes
如果您可以访问,请删除文件:
/var/mobile/Library/Caches/com.apple.LaunchServices-054.csstore
然后告诉用户重新启动,如果进行了重新启动,则您将删除该文件&再次重启。 (因为com.apple.LaunchServices-054.csstore
文件在呼叫后返回。)
希望这可以帮助越狱社区的某些人,如果他们设法偶然发现。
注意,我认为此方法仅适用于iOS7。 :(