iOS 共享扩展 URLForResource 访问主应用程序中的文件

标签 ios ios8-share-extension

我需要从我的共享扩展中的主应用程序访问一个文件,这可能吗?该文件是用于分发 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/

相关文章:

iOS 10.3 - 如何以编程方式更改应用程序图标

iOS 在 webview 中没有互联网连接时显示警报

java - Intent-filter Browsable for and android Application, not Activity?

ios - 应用程序未显示在 iOS8 共享扩展中共享选项的共享菜单中

ios - iOS 9-强制共享扩展以获取public.file-url

IOS 共享扩展 : how to read from notes posts

iOS 证明文件可从共享扩展上传到 React Native

ios - 第二个 View Controller 场景中的 Swift viewDidLoad() 不工作

ios - 如何自定义 UITableView 及其单元格以获得清晰的颜色分隔符和单元格的不同长度取决于标题?

iOS 自定义共享扩展获取内容