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

cai*_*ain 5 xamarin.ios ios xamarin ios-app-extension

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

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

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

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

mig*_*aza 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")
Run Code Online (Sandbox Code Playgroud)

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