iOS小記--NSFileProtectionKey

iPhone鎖屏狀態(tài)會(huì)對(duì)文件的讀寫產(chǎn)生影響桑涎,導(dǎo)致一些在后臺(tái)模式下的操作并不能達(dá)到想要的結(jié)果弊决。

在NSFileManager類中這樣一些方法胀糜,

- createFileAtPath:contents:attributes:

- createDirectoryAtPath:withIntermediateDirectories:attributes:error:

– setAttributes:ofItemAtPath:error:

- attributesOfItemAtPath:error:

相同的是這里都提到了一個(gè)名詞attributes兴想。文檔介紹留量,這是一些關(guān)于文件的屬性窄赋,用一個(gè)字典包括,每一個(gè)key都被定義好的楼熄。文檔中搜索File Attribute Keys忆绰,可以輕松找到。這里只就其中一個(gè)在鎖屏狀態(tài)下造成影響的屬性作出一些介紹:NSString* const NSFileProtectionKey;

這個(gè)擴(kuò)展屬性標(biāo)示著文件的保護(hù)等級(jí)可岂,相對(duì)應(yīng)的值也是NSString類型的错敢。在File Protection Values.中列了出來(lái)。下面來(lái)一個(gè)個(gè)看。

extern NSString* const NSFileProtectionNone;

extern NSString* const NSFileProtectionComplete;

extern NSString* const NSFileProtectionCompleteUnlessOpen;

extern NSString* const NSFileProtectionCompleteUntilFirstUserAuthentication;

NSFileProtectionNone:文件沒有設(shè)置任何保護(hù)稚茅,隨時(shí)可以讀寫纸淮。

NSFileProtectionComplete:最完備等級(jí)的保護(hù),文件以加密形式寫在磁盤中亚享,當(dāng)設(shè)備(iPhone/iPad)在Locked(鎖屏咽块,還是帶密碼的那種)狀態(tài)或者booting(正在開機(jī))時(shí)無(wú)法讀寫。

NSFileProtectionCompleteUnlessOpen:也是加密寫在磁盤中欺税,區(qū)別與上一個(gè)的事侈沪,文件在鎖屏狀態(tài)下可以被創(chuàng)建,但是不能關(guān)閉文件晚凿,一旦關(guān)了它亭罪,在解鎖之前你是不可以做任何操作的。解鎖之后歼秽,你可以正常操作文件应役,即使這個(gè)時(shí)候用戶再次鎖上設(shè)備。雖然沒有被寫入或讀取燥筷,這里在創(chuàng)建或打開文件時(shí)也有一點(diǎn)小小的性能損失箩祥。更緩和的策略是在設(shè)備未鎖住時(shí)將文件屬性設(shè)為NSFileProtectionComplete。

NSFileProtectionCompleteUntilFirstUserAuthentication:文件以加密形式存儲(chǔ)在磁盤上荆责,未開啟機(jī)器時(shí)是不可以存取的滥比,在用戶第一次解鎖設(shè)備之后(理解為開機(jī)后第一次解鎖),你的app可以使用這個(gè)文件即使用戶鎖屏了也沒關(guān)系做院。

iOS這么做也是出于一些安全的考慮盲泛,但是對(duì)于一些在后臺(tái)模式下的應(yīng)用,NSFileProtectionComplete保護(hù)級(jí)別的文件可能會(huì)造成一些不便键耕,例如寫入數(shù)據(jù)庫(kù)失斔鹿觥(我前面提到過(guò)),下載的文件未完成,etc.但是之間改變權(quán)限似乎又有安全隱患(其實(shí)我不是很care...)屈雄。比較建議的做法是村视,創(chuàng)建一個(gè)低保護(hù)權(quán)限的文件用于backup。然后在設(shè)備被解鎖之后酒奶,也就是你的app可以為所欲為的時(shí)候把你想要的數(shù)據(jù)找回來(lái)蚁孔,麻煩是麻煩點(diǎn),但看起來(lái)應(yīng)該很可靠惋嚎。

tips:新創(chuàng)建的文件如果未指定attributes杠氢,它會(huì)分配一組默認(rèn)的屬性,針對(duì)文件保護(hù)另伍,系統(tǒng)是怎么分配的并沒有找到可靠資料鼻百,自己測(cè)試是出現(xiàn)了兩種情況,一種是NSFileProtectionComplete,還有一種是NSFileProtectionCompleteUntilFirstUserAuthentication温艇。最后貼一張圖:

測(cè)試發(fā)現(xiàn)因悲,NSUserDefaults對(duì)應(yīng)的那個(gè).plist文件就是圖示屬性,保護(hù)級(jí)別較低。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末勺爱,一起剝皮案震驚了整個(gè)濱河市晃琳,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌琐鲁,老刑警劉巖蝎土,帶你破解...
    沈念sama閱讀 207,113評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異绣否,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)挡毅,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,644評(píng)論 2 381
  • 文/潘曉璐 我一進(jìn)店門蒜撮,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人跪呈,你說(shuō)我怎么就攤上這事段磨。” “怎么了耗绿?”我有些...
    開封第一講書人閱讀 153,340評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵苹支,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我误阻,道長(zhǎng)债蜜,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,449評(píng)論 1 279
  • 正文 為了忘掉前任究反,我火速辦了婚禮寻定,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘精耐。我一直安慰自己狼速,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,445評(píng)論 5 374
  • 文/花漫 我一把揭開白布卦停。 她就那樣靜靜地躺著向胡,像睡著了一般。 火紅的嫁衣襯著肌膚如雪惊完。 梳的紋絲不亂的頭發(fā)上僵芹,一...
    開封第一講書人閱讀 49,166評(píng)論 1 284
  • 那天,我揣著相機(jī)與錄音专执,去河邊找鬼淮捆。 笑死,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的攀痊。 我是一名探鬼主播主慰,決...
    沈念sama閱讀 38,442評(píng)論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼连锯,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起施籍,我...
    開封第一講書人閱讀 37,105評(píng)論 0 261
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎刮吧,沒想到半個(gè)月后移必,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,601評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡遭殉,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,066評(píng)論 2 325
  • 正文 我和宋清朗相戀三年石挂,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片险污。...
    茶點(diǎn)故事閱讀 38,161評(píng)論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡痹愚,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出蛔糯,到底是詐尸還是另有隱情拯腮,我是刑警寧澤,帶...
    沈念sama閱讀 33,792評(píng)論 4 323
  • 正文 年R本政府宣布蚁飒,位于F島的核電站动壤,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏淮逻。R本人自食惡果不足惜琼懊,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,351評(píng)論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望弦蹂。 院中可真熱鬧肩碟,春花似錦、人聲如沸凸椿。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,352評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)脑漫。三九已至髓抑,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間优幸,已是汗流浹背吨拍。 一陣腳步聲響...
    開封第一講書人閱讀 31,584評(píng)論 1 261
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留网杆,地道東北人羹饰。 一個(gè)月前我還...
    沈念sama閱讀 45,618評(píng)論 2 355
  • 正文 我出身青樓伊滋,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親队秩。 傳聞我的和親對(duì)象是個(gè)殘疾皇子笑旺,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,916評(píng)論 2 344

推薦閱讀更多精彩內(nèi)容

  • 轉(zhuǎn)載原文鏈接 面試能力要求:精通iphone的UI開發(fā),能熟練操作復(fù)雜表視圖馍资,熟練使用圖層技術(shù)筒主, 可以自定義UI控...
    Lonely__M閱讀 7,627評(píng)論 2 24
  • 本文章轉(zhuǎn)自 對(duì)iOS10新增Api的詳細(xì)探究這里是直接復(fù)制的,需要的請(qǐng)?jiān)L問(wèn)下面的連接http://www.cnbl...
    TsingQue閱讀 362評(píng)論 0 1
  • 1鸟蟹,NSObject中description屬性的意義乌妙,它可以重寫嗎?答案:每當(dāng) NSLog(@"")函數(shù)中出現(xiàn) ...
    eightzg閱讀 4,132評(píng)論 2 19
  • 1.項(xiàng)目經(jīng)驗(yàn) 2.基礎(chǔ)問(wèn)題 3.指南認(rèn)識(shí) 4.解決思路 ios開發(fā)三大塊: 1.Oc基礎(chǔ) 2.CocoaTouch...
    陽(yáng)光的大男孩兒閱讀 4,969評(píng)論 0 13
  • 循環(huán)引用:http://ios.jobbole.com/82077/類別的作用功能:1.擴(kuò)充現(xiàn)有類的功能2.對(duì)現(xiàn)有...
    得一切從簡(jiǎn)閱讀 493評(píng)論 0 1