ios监管模式存储路径

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ios监管模式存储路径相关的知识,希望对你有一定的参考价值。

不管是在ios还是android开发过程中,我们都经常性地需要存储一些状态和数据,比如用户对于App的相关设置、需要在本地缓存的数据等等。根据要存储的的数据的大小、存储性质以及存储类型,在iOS和Android中哪个都有多种存储方式。其中,iOS中的存储方式主要包括以下六类:

plist文件(属性列表)
preference(偏好设置)
NSKeyedArchiver(归档)
SQLite 3
CoreData
手动存放沙盒
一、沙盒机制
  在研究存储方式之前,我们有必要先研究下这些文件会存储到什么地方去,这就需要我们了解iOS App特有的沙盒机制了。iOS程序默认情况下只能访问程序自己的目录,这个目录被称为“沙盒”,即沙盒其实就是一个App特有的一个文件夹,iOS下每个App都有自己特有的一个沙盒,其结构和目录特性都是一样的。

1.1 沙盒结构
  既然沙盒就是一个文件夹,那就看看里面有什么吧。沙盒的目录结构如下图所示,每个App的沙盒都是由下图所示的四部分组成,每一部分中存放的数据和内容都是有一定的规范和性质的。该目录路径的获取方法是直接通过 NSHomeDirectory() 就得到和应用沙盒的路径。
  此外,每一个App还有一个Bundle目录,即“应用程序包”,该目录下 存放的是应用程序的源文件,包括资源文件和可执行文件。
参考技术A 沙盒的四个目录:Documents、Library/Preferences 、Library/Caches 、tmp

Documents:保存用户产生的数据;

Library/Preferences: 保存偏好设置 如:NSUserDefaults

Library/Caches: 缓存数据 如 SDWebImage 中的图片

tmp: 临时数据 程序退出会删除目录

在iOS Swift中不使用AWS SDK在Amazon S3存储桶中上传的背景图像(背景模式)

我有一个捕获图像/图像的应用程序,获取文档上载策略的请求被激活,并开始上传图像/图像。当用户在前台时,图像/图像上传,但是当用户在后台时,图像/图像不会上传或无法上传。所以我想在应用程序处于后台时(背景模式)上传图像/图像。

背景(背景模式)上传图像/图像的正确路径是什么?

该应用程序是用Swift 2.3编写的

任何帮助,将不胜感激

谢谢

答案

使用AWSS3TransferUtility处理后台上传

    import AWSS3

    let transferUtility = AWSS3TransferUtility.default()
    //In order to customize the header information, we use the AWSS3TransferUtilityUploadExpression class
    let expression = AWSS3TransferUtilityUploadExpression()

    //We want our file to be publicly available by default
    expression.setValue("public-read", forRequestParameter: "x-amz-acl")

    //Copy the custom Meta information into the expression
    transferUtility.uploadFile(uploadRequest.body, bucket: uploadRequest.bucket ?? "", key: uploadRequest.key ?? "", contentType: uploadRequest.contentType ?? "", expression: expression) { (task, error) in }

别忘了在你的app delegate中添加以下代码

func application(_ application: UIApplication, handleEventsForBackgroundURLSession identifier: String, completionHandler: @escaping () -> Void) {
    /*
     Store the completion handler.
     */
    AWSS3TransferUtility.interceptApplication(application, handleEventsForBackgroundURLSession: identifier, completionHandler: completionHandler)
}

以上是关于ios监管模式存储路径的主要内容,如果未能解决你的问题,请参考以下文章

在iOS Swift中不使用AWS SDK在Amazon S3存储桶中上传的背景图像(背景模式)

校外培训行业迎来强监管,“教育+区块链”新模式试图解决行业痼疾

ios以离线模式存储URL图像(未连接到互联网)

揭秘“轻松筹”募捐平台或成诈骗摇篮 谁来监管?

使用 YARN 在集群模式下运行 spark 时出现 java.io.FileNotFoundException

请问oracle rac模式下 共享存储上的数据文件这个路径是怎么来的?