斯威夫特:有啥方法可以对用户隐藏文件?
Posted
技术标签:
【中文标题】斯威夫特:有啥方法可以对用户隐藏文件?【英文标题】:Swift: Is there any way to hide files from users?斯威夫特:有什么方法可以对用户隐藏文件? 【发布时间】:2018-11-27 10:25:08 【问题描述】:我想知道在 ios 设备中是否有可以存储视频文件的地方:
1) 用户无法在应用外找到视频文件。
2) 没有其他应用可以读取视频文件。
3) 即使是越狱设备也无法访问应用外的视频文件。
我希望访问这些视频文件的唯一方法是仅通过应用程序。
请帮我知道保存文件的位置。
【问题讨论】:
文件系统developer.apple.com/library/archive/documentation/… @karthikeyan 感谢您的回复,请问有没有可能? @karthikeyan 我担心越狱设备?他们可以提取视频文件吗? 为什么不正确加密文件,然后如果他们访问它就不能对它们做任何事情? @BencePattogato 因为加密后很难播放视频。 【参考方案1】:首先,看看@karthikeyan 发布的链接。
https://developer.apple.com/library/archive/documentation/FileManagement/Conceptual/FileSystemProgrammingGuide/FileSystemOverview/FileSystemOverview.html
选择正确的“SearchPathDomainMask”。
let documents = try! FileManager.default.url(for: .documentDirectory, in: .localDomainMask, appropriateFor: nil, create: false)
来自苹果图书馆:
public struct SearchPathDomainMask : OptionSet
public init(rawValue: UInt)
public static var userDomainMask: FileManager.SearchPathDomainMask get
// user's home directory --- place to install user's personal items (~)
public static var localDomainMask: FileManager.SearchPathDomainMask get
// local to the current machine --- place to install items available to everyone on this machine (/Library)
public static var networkDomainMask: FileManager.SearchPathDomainMask get
// publically available location in the local area network --- place to install items available on the network (/Network)
public static var systemDomainMask: FileManager.SearchPathDomainMask get
// provided by Apple, unmodifiable (/System)
public static var allDomainsMask: FileManager.SearchPathDomainMask get
// all domains: all of the above and future items
【讨论】:
越狱设备怎么办?如何保护视频文件不受这些影响? 不,您不能保护 JailBroken 设备的视频文件。我认为有两种选择。首先是加密。其次,如果数据非常敏感或您想要保护它,则无需在 Jail Broken 设备上安装。以上是关于斯威夫特:有啥方法可以对用户隐藏文件?的主要内容,如果未能解决你的问题,请参考以下文章