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

问题描述 投票:1回答:1

我需要在我的共享扩展程序中从我的主应用程序访问文件是可能的吗?该文件是用于发布本地iOS应用程序的“捆绑”,类似于

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

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

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

ios ios8-share-extension
1个回答
1
投票

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

如果您的JavaScript包是静态的并随应用程序一起提供,那么您最多将其作为资源放入共享框架中,并将此框架添加到应用程序和扩展程序中。所以你可以通过访问这个包

jsCodeLocation = [[NSBundle bundleWithIdentifier: <framework identifier>] URLForResource:@"main" withExtension:@"jsbundle"];

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

© www.soinside.com 2019 - 2024. All rights reserved.