我需要从我的共享扩展中的主应用程序访问一个文件,这可能吗?该文件是用于分发 native iOS 应用程序的“ bundle ”,类似于
jsCodeLocation = [[NSBundle mainBundle] URLForResource:@"main" withExtension:@"jsbundle" subdirectory:@"../myMainProject"];
如果我将 main.jsbundle
文件复制并粘贴到我的共享扩展中,它就可以正常工作。
或者我应该将这个 main.jsbundle
放在一个应用程序组中,以便应用程序和扩展程序都可以使用它吗?
最佳答案
应用及其扩展只能通过公共(public)应用组文件夹共享数据,并且两者都必须在 Xcode 中明确添加到该组。
如果您的 JavaScript 包是静态的并且随您的应用一起交付,您最好将其作为资源放入共享框架中,并将此框架添加到应用和扩展中。所以你可以访问这个包
jsCodeLocation = [[NSBundle bundleWithIdentifier: <framework identifier>] URLForResource:@"main" withExtension:@"jsbundle"];
注意:您不应访问捆绑文件夹的父文件夹的内容。
关于iOS 共享扩展 URLForResource 访问主应用程序中的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49042449/