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存储桶中上传的背景图像(背景模式)
校外培训行业迎来强监管,“教育+区块链”新模式试图解决行业痼疾