我想通过App Group功能访问自定义键盘扩展程序中的容器应用程序文件。为此,我在Apple门户网站上创建了Group ID,并将其添加到我的两个目标中(键盘和应用程序)
我已成功访问NSUserDefaults
的数据,其工作正常我可以访问数据。但我坚持从容器应用程序获取文件
我有访问网址
NSURL *containerURL = [[NSFileManager defaultManager]
containerURLForSecurityApplicationGroupIdentifier:@"group.com.company.app"];
NSURL以下列方式返回网址。
/Users/AxisCyberTech1/Library/Developer/CoreSimulator/Devices/1649BBF4-6615-4E53-BFC9-A3D07F3CA70A/data/Containers/Shared/AppGroup/49A4F24B-30A8-474E-8FFA-072E0DF61CBD/
但此路径无法访问Container源包中的任何文件。 如何访问容器源文件
答案 0 :(得分:-2)
键盘扩展还有另一个限制。您应该在Info.plist中将RequestsOpenAccess设置为YES,然后它就可以访问这些文件。
答案 1 :(得分:-2)
要获取对包含应用程序包的访问权限是沙箱,而不是从外部应用程序访问的alloew。致电[[NSFileManager defaultManager] containerURLForSecurityApplicationGroupIdentifier:YOUR_APP_GROUP_ID]
以获取应用程序组共享容器的URL。
请注意,使用NSFileCoordinator
内部扩展来访问包含app共享容器可能会导致死锁。见this documentation