求教,(#泪)一直拒绝文件访问被拒绝怎么办怎么办

打开服务管理器时出现错误:〔

(一台机器即作服务器又作客户机,软件连接中出现:

现从网上查阅问题解决办法有如下几种:

你如果是独立上网的请把

)打开服务暫停全文检索及

允许跨数据库所有权链接


iOS 5有了iCloud后Apple更新了数据存储指导方針,以适应于iCloud存储同时增加了“不要备份”文件属性,可以指定文件不备份和上传到iCloud

摘录如下供大家参考:

iOS 数据存储指导方针

iCloud 包括了備份,会通过Wi-Fi每天自动备份用户iOS设备app的home目录下的所有东西都会被备份,除了应用Bundle本身、缓存目录和temp 目录已购买的音乐、应用、书籍、Camera Roll、设备设置、主屏幕、App组织、消息、铃声也都会被备份。由于备份通过无线进行并且为每个用户存储在iCloud中,应用需最小化自己存储的 数據数量大文件会延长备份时间,并且消耗用户的可用iCloud空间

为了确保备份尽可能快速高效,应用存储数据需要遵循以下指导方针:

1. 只有那些用户生成的文档或其它数据或者应用不能重新创建的数据,才应该存储在/Documents目录下并且会被自动备份到iCloud。

2. 可以重新下载或生成的数據应该存储在/Library/Caches目录。例如数据库缓存文件、可下载文件(杂志、报纸、地图应用使用的数据)等都属于这一类

3. 临时使用的数据应该存放在/tmp目录。尽管这些文件不会被iCloud备份应用在使用完之后需要记得删除这些文件,这样才不会继续占用用户设备的空间

4. 使用"不要备份"属性来指定那些需要保留在设备中的文件(即使是低存储空间情况下)。那些能够重新生成但在低存储空间时仍需保留,对应用正常运行囿影 响或者用户希望文件在离线时可用的文件,需要使用这个属性无论哪个目录下的文件(包括Documents目录),都可以使用这个属性这些攵件不会被 删除,也不会包含在用户的iCloud或iTunes备份中由于这些文件一直占用着用户设备的存储空间,应用有责任定期监控和删除这些文件




iOS 5.0.1開始支持"do not back up"文件属性,允许开发者明确地指定哪些文件应该被备份哪些是本地缓存可以自动删除,哪些文件不需要备份但不能删除此外,对目录设置这个属性会阻止备份该目录和目录中的所有内容。
com.apple.MobileBackup 文件属性就是iOS 5.0.1引入的"do not back up"特性用于指定文件或目录不需要备份(不管在文件系统的什么位置)。通过使用这个新的文件属性并且将文件存放在指定的目录下,文件可以分为以下四 种数据类型:s.
这 些是用户创建嘚数据或其它不能重新生成的数据。应该存放在/Documents目录下并且不应该标 记为"do not backup"属性。关键数据在低存储空间时也会保留而且会被iCloud或iTunes备份。
可 以重新下载或生成的数据而且没有这些数据也不会妨碍用户离线使用应用的功能。缓存数据应该保存 在/Library/Caches目录下缓存数据在设备低存储空间时可能会被删除,iTunes或 iCloud不会对其进行备份
应 用需要写到本地存储,内部使用的临时数据但不需要长期保留使用。临时数据应该保存在/tmp目录系 统可能会清空该目录下的数据,iTunes或iCloud也不会对其进行备份应用在不需要使用这些数据时,应该尽快地删除临时数据以避免浪费用户的存 储空间。
可 以下载或重新创建,但用户希望在离线时也能文件访问被拒绝怎么办这些数据离线数据应该存放在/Documents目 录或/Library/Private Documents目录,并标记为"do not backup"属性这两个位置的数据在低存储空间时都会保留,而"do not backup"属性会阻止iTunes或iCloud备份应用不再需要离线数据文件时,应该尽快删除以避免浪费用户的存储空间。ce.
注意:"do not backup"扩展属性可以添加到任何文件或目录在旧版本的系统中也能够设置。但旧系统仍然会备份这些文件一旦设备更新到iOS 5.0.1,这些文件会被重新正确地配置

使用下面方法来设置"do not back up"扩展属性。当你创建不需要备份的文件或目录时向文件写入數据,然后调用下面方法并传递一个文件URL。

苹果在iOS 5系统时对app的文件存储提出了新的要求。从

来看是推荐开发者尽量把app生成的文件放茬Caches目录下的。原文如下:

如果这么做的话会出现两种情况

  1. 如果对此置之不理,继续把应用生成的文件放在Documents目录下那么这些文件会被备份箌iTunes或者iCloud。如果这些文件很大那么用户可能需要为了同步消耗不少流量,然后苹果可能会因此拒绝你的应用上架这是一个悲剧。
  2. 如果开發者照Apple说的干把应用生成的文件放在Caches目录下,那么苹果不会拒绝你的应用很happy。但是iOS 5会在磁盘空间紧张的时候删除Caches目录下的文件这对鼡户来说可能是一个更大的悲剧。

如何应对新的文件存储策略?

开发者在这时陷入了两难的境地但是到了iOS 5.0.1的时候,开发者多了第三种选择:

  • 繼续把文件存储在Documents目录下但是标记这些文件为不需要备份。详情请参考 technote ()

给文件加上”do not back up”属性的代码如下需要注意这个是iOS 5.0.1才有效,低于這个版本就别费劲了

 






内容:用户创建的数据文件,无法在删除后自动重新创建且会

属性:不要设置"不备份"

管理:iOS系统即时遇到存储空間不足的情况下,也不会清除同时会备份到iTunes或iCloud中  

内容:可用于离线环境,可被重复下载重复生成即时在离线时缺失,应用本身也可以囸常运行

管理:在存储空间不足的情况下会清空, 并且不会被自动备份到iTunes和iCloud中

内容:应用运行时为完成某个内部操作临时生成的文件

管理:随时可能被iOS系统清除,且不会自动备份到iTunes和iCloud尽量在文件不再使用时,应用自己情况避免对用户设备空间的浪费 

内容:与缓存数據类似,可以被重新下载和重建但是用户往往希望在离线时数据依然能够托托地存在着

属性:放于Documents下不需设置,放在自定义文件夹中需設置"不备份" 

管理:与关键数据类似即时在存储空间不足的情况下也不会清楚,应用自己应该清除已经不再使用的文件以免浪费用户设備空间

对文件夹的path使用这两个方法中的任意一个,就可以使该目录和该目录包含的所有文件和文件夹不被icloud和itunes同步了!

对于数据的同步与否嘚设计规则 详细看上面的官方说明链接

注意:setxattr在iOS 5.0.1之前的系统里不会起作用的,(但是那些系统也没有iCloud只有iTunes^.^)经测试发现虽然不会起作用,泹调用该函数也不会引起空 指针错误  这是一项挺有意思的技术:新系统里加入了原先系统里没有的func,在原先的系统里调用居然没有nullpoint错誤。 莫非这函数地址早就存在预留好了后面把功能挂上? 奇怪了

另外补充一下,对这个特性的测试要有耐心因为icloud识别应用程序里要哃步的数据量大小显示要等几秒(菊花。),

参考文档:apple官方文档


 

我要回帖

更多关于 文件访问被拒绝怎么办 的文章

 

随机推荐