iOS 在主应用中共享扩展 URLForResource 访问文件

iOS share extension URLForResource access file in main app

我需要从我的共享扩展中的主应用程序访问一个文件,这可能吗?该文件是 "bundle" 用于分发本机反应 iOS 应用程序,类似于

jsCodeLocation = [[NSBundle mainBundle] URLForResource:@"main" withExtension:@"jsbundle" subdirectory:@"../myMainProject"];

如果我将 main.jsbundle 文件复制并粘贴到我的共享扩展中,它就可以正常工作。

或者我应该将此 main.jsbundle 放在应用组中以便应用和扩展都可以使用它吗?

应用程序及其扩展程序只能通过公共应用程序组文件夹共享数据,并且必须在 Xcode 中将两者明确添加到该组。

如果您的 JavaScript 包是静态的并且随您的应用一起交付,您最多可以将其作为资源放入共享框架中,并将此框架添加到应用和扩展中。所以你可以通过

访问这个包
jsCodeLocation = [[NSBundle bundleWithIdentifier: <framework identifier>] URLForResource:@"main" withExtension:@"jsbundle"];

注意:您不应访问捆绑文件夹的父文件夹的内容。