将文件从iOS应用扩展程序保存到包含的应用

时间:2015-03-26 16:22:51

标签: ios xamarin.ios xamarin ios-app-extension

我正在努力添加使用共享按钮的功能,以允许用户保存文件以供我的主应用程序使用。需要支持多种文件类型(图像,视频,音频,PDF格式等)。

一般用例是: 用户使用语音备忘录应用程序使用标准相机应用程序或录音进行拍照。 用户单击“共享”按钮并从共享列表中选择我的扩展名。 Dialog打开,让用户有机会给出文件的描述。 文件保存到我的主应用程序(包含应用程序)以后可以访问和处理它的位置。

我已经能够提示我分享文件,但是我无法找到一个位置来成功保存到我的主应用程序以后可以读取的位置。这甚至可能吗?有没有更好的方法来处理这种情况?

我目前正在使用Xamarin执行此操作,因此不支持调试(并且记录很少)。如果有人在目标C中得到答案,那至少可以帮助我指明正确的方向。

2 个答案:

答案 0 :(得分:3)

您需要做一些事情。

首先,您的应用和应用扩展应该属于同一个应用组:

https://developer.apple.com/library/prerelease/ios/documentation/Miscellaneous/Reference/EntitlementKeyReference/Chapters/EnablingAppSandbox.html#//apple_ref/doc/uid/TP40011195-CH4-SW19

然后您可以使用以下内容访问共享存储:

var groupUrl = NSFileManager.DefaultManager.GetContainerUrl ("stackoverflow.com.mygroup")

现在您可以访问groupUrl指向的目录中的文件。

答案 1 :(得分:1)