的iOS - 应用程序之间移动项目,通过共享扩展
有2个应用程序:的iOS - 应用程序之间移动项目,通过共享扩展
- WhatsApp的应用
- 我的应用程序(testAPP)
我尝试共享的WhatsApp之间的音频文件我的应用程序(testAPP),我已经实现了APP Group和共享扩展。
我成功了这些应用之间的集成,并收到一个网址,例如:
文件:///私人的/ var /移动/集装箱/数据/应用/ XXXXXX/tmp目录/文件/ XXXXXX/2017- 04-16-AUDIO-00001077.opus
的问题开始当我尝试移动这个文件到我的本地文件的应用程序,例如
目标路径: startingPath = /私营/无功/移动/集装箱/ Data/Application/xxxxxx/tmp/documents/xxxxxx/2017-04-16-AUDIO-00001077.opus
目标路径: endingPath =在/ var /移动/集装箱/数据/应用/ 685A0D6F-AB7C-4DCF-ADD9-19AAE6A8DAFD /文档
do {
try filemgr.moveItem(atPath: startingPath, toPath: endingPath!)
} catch let error as NSError {
NSLog("Unable to create directory \(error.debugDescription)")
}
我得到这个错误,我不明白为什么
无法创建目录错误域= NSCocoaErrorDomain代码= 516“”2017-04-16-AUDIO-00001077.opus“无法移动到”xxxx“,因为具有相同名称的项目已存在。” UserInfo = {NSSourceFilePathErrorKey =/private/var/mobile/Containers/Data/Application/xxxxx/tmp/documents/xxxxxxx/2017-04-16-AUDIO-00001077.opus,NSUserStringVariant =( Move ),NSDestinationFilePath =/var/mobile/Containers/Data/Application/6xxxx/Documents,NSFilePath =/private/var/mobile/Containers/Data/Application/xxxxx/tmp/documents/xxxxxx2/2017-04-16-AUDIO-00001077.opus,NSUnderlyingError = 0x17005f6b0 {错误域= NSPOSIXErrorDomain代码= 17“文件存在”}}
最后我明白了这个问题。
当应用程序使用份额的扩展,以共享文件/图片...里面你的应用程序,该文件在此位置存在:
/私营/无功/移动/集装箱/数据/应用/
为了获得完整的许可文件,需要复制该文件到应用程序组共享文件夹:
/私营/无功/移动/集装箱/共享/ AppGroup/
您将文件移动到应用程序后,组共享文件夹,你将得到一个完整的p删除文件
我做了同样的事情,你提到,但我得到错误。 设置安全信息:不允许操作 无法创建目录/ private/var/mobile/Containers/Shared/AppGroup/71A96319-8575-4AEA-A643-C9A840BCB887:文件存在 – Dishant
那么,从错误似乎该文件已经存在。这是否也发生在干净的安装上,也就是第一次共享文件时,还是仅在随后的尝试中发生? – Losiowaty
Losiowaty,文件不存在于目标路径,我在第一次安装时检查它。 源文件的前缀是私人/ var,也许我没有权限到这个位置,我不能从那里移动文件? – Android0077