我正在尝试向现有应用添加其他“打开方式”功能。我找到了一种在应用程序捆绑包内的Info.plist中添加必要的CFBundleDocumentTypes
的方法。现在,我唯一的问题是让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
有人知道我还能去哪里吗?必须有使用 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/