2017-02-10 47 views
1

应用程序包,当我从文件目录中的文件复制到应用程序包目录提示错误是这样的:无法被复制,因为您没有权限访问IOS

“图像”不能被复制,因为您没有权限访问“资源”。

我的代码

let fileManager = FileManager.default 
let documentDirectoryPath = fileManager.urls(for: .documentDirectory, in: .userDomainMask).first?.appendingPathComponent("Images") 
let bundleDirectoryPath = (Bundle.main.resourceURL?.appendingPathComponent("GCDWebUploader.bundle").appendingPathComponent("Contents").appendingPathComponent("Resources").appendingPathComponent("Images")) 

do { 
     try fileManager.copyItem(at: documentDirectoryPath!, to: bundleDirectoryPath!) 
    } catch let error as NSError { 
     print("Couldn't copy file to final location! Error:\(error.description)") 
    } 
+0

为什么要将图像移动到您的包目录? –

+0

我已经实施了简单的网络服务器与使用GCDWebUploader.And它做到了成功。但现在我想显示上传的图像从iphone到web.At那时我得到的问题资源未找到。因此,我得到了复制资源的解决方案但这样做,我正在获得许可的问题。 – Bhumi

+0

这是否意味着您想要上传到外部服务器(使用GCDWebUploader)的文档目录中有图像?如果是这样的话,为什么你不显示你的上传代码,你如何从沙盒访问图像? –

回答

0

为什么复制捆绑Dirctory ..有没有办法在bundle目录写,因为包目录与SSL certificate签名的代码,你不能打破它。您可以使用文档目录本身来存储文件。

0

磁盘上的软件包目录(读取here)是不可修改的,即开发人员无法更改其内容。您的应用程序的文档目录(沙箱)是您想要保留的地方。

0

如果要将任何文件添加到捆绑软件目录,必须在生成阶段使用生成阶段选项卡中的复制资源完成。这些通常是每次执行时都不应更改的文件。

如果试图添加到捆绑包的图像是用于UI的。使用资产目录

对于任何其他类型的文件(读或写)使用文件目录

相关问题