iOS問題合集

  1. NSKeyedUnarchiver新版本警告
[NSKeyedUnarchiver validateAllowedClass:forKey:] allowed unarchiving safe plist type ''NSString' (0x1e02a43c0) [/System/Library/Frameworks/Foundation.framework]' for key 'accessToken', even though it was not explicitly included in the client allowed classes set: '{(
    "'LHUserInfo' (0x1023ff680) [/private/var/containers/Bundle/Application/4C71BA36-B100-410E-8ADC-49D57182A3F1/LeHooWorld.app]"
)}'. This will be disallowed in the future.

當(dāng)iOS15.0以上版本使用NSKeyedUnarchiver進行解碼的時候,對于解碼非特定類型的對象,Apple引入了新的反序列化安全策略的警告。
在iOS 15及以后的版本中,NSKeyedUnarchiver需要知道將要解碼哪些對象的類型陡蝇。這是為了防止應(yīng)用在反序列化數(shù)據(jù)時,可能會誤解碼成并非期望的對象類型哮肚,這種情況可能會引起安全問題登夫。此策略的應(yīng)用方式是,當(dāng)我們嘗試反序列化一個對象時允趟,我們需要顯式地告訴 NSKeyedUnarchiver 我們希望解碼哪些類恼策。如果沒有列出的類被解碼,系統(tǒng)就會產(chǎn)生這個警告潮剪。

你看到的這個警告是因為你的代碼在嘗試解碼一個 NSString 對象涣楷,但 NSString 并沒有被明確地添加到 NSKeyedUnarchiver 的允許解碼的類列表中。但由于 NSString 是一個安全的Plist類型抗碰,所以這個操作還是被允許的狮斗,但同時也產(chǎn)生了這個警告。

要解決這個警告弧蝇,你需要明確地告訴 NSKeyedUnarchiver 在反序列化數(shù)據(jù)前碳褒,你將要解碼的類迄汛。這樣可以確保解碼的數(shù)據(jù)是你期望的類型。這是一個可能的解決方案的例子:

NSData *data = //... your archived data
NSSet *allowedClasses = [NSSet setWithObjects:[NSString class], [MyClass class], nil];
NSError *error = nil;
MyClass *myClass = [NSKeyedUnarchiver unarchivedObjectOfClasses:allowedClasses fromData:data error:&error];

你需要為你希望解碼的每個類都創(chuàng)建一個NSSet骤视,并在 unarchivedObjectOfClasses:fromData:error: 方法中使用它鞍爱。在這個例子中,我們允許解碼 NSString 和 LHUserInfo 類型的對象专酗。

注意睹逃,你的App可能在試圖反序列化 LHUserInfo 類型的對象時,同時也可能在反序列化 NSString 對象祷肯,所以你需要在允許解碼的類集合中包含這兩種類型的類沉填。

這種策略的目的是為了提高安全性,尤其是在處理可能來自不安全來源的數(shù)據(jù)時佑笋。為了確保App的安全性翼闹,應(yīng)該盡可能地限制可以解碼的類型。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末蒋纬,一起剝皮案震驚了整個濱河市猎荠,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌蜀备,老刑警劉巖关摇,帶你破解...
    沈念sama閱讀 212,080評論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異碾阁,居然都是意外死亡输虱,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,422評論 3 385
  • 文/潘曉璐 我一進店門脂凶,熙熙樓的掌柜王于貴愁眉苦臉地迎上來宪睹,“玉大人,你說我怎么就攤上這事蚕钦⊥げ。” “怎么了?”我有些...
    開封第一講書人閱讀 157,630評論 0 348
  • 文/不壞的土叔 我叫張陵冠桃,是天一觀的道長命贴。 經(jīng)常有香客問我道宅,道長食听,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,554評論 1 284
  • 正文 為了忘掉前任污茵,我火速辦了婚禮樱报,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘泞当。我一直安慰自己迹蛤,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 65,662評論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著盗飒,像睡著了一般嚷量。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上逆趣,一...
    開封第一講書人閱讀 49,856評論 1 290
  • 那天蝶溶,我揣著相機與錄音,去河邊找鬼宣渗。 笑死抖所,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的痕囱。 我是一名探鬼主播田轧,決...
    沈念sama閱讀 39,014評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼鞍恢!你這毒婦竟也來了傻粘?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,752評論 0 268
  • 序言:老撾萬榮一對情侶失蹤帮掉,失蹤者是張志新(化名)和其女友劉穎抹腿,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體旭寿,經(jīng)...
    沈念sama閱讀 44,212評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡警绩,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,541評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了盅称。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片肩祥。...
    茶點故事閱讀 38,687評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖缩膝,靈堂內(nèi)的尸體忽然破棺而出混狠,到底是詐尸還是另有隱情,我是刑警寧澤疾层,帶...
    沈念sama閱讀 34,347評論 4 331
  • 正文 年R本政府宣布将饺,位于F島的核電站,受9級特大地震影響痛黎,放射性物質(zhì)發(fā)生泄漏予弧。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,973評論 3 315
  • 文/蒙蒙 一湖饱、第九天 我趴在偏房一處隱蔽的房頂上張望掖蛤。 院中可真熱鬧,春花似錦井厌、人聲如沸蚓庭。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,777評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽器赞。三九已至垢袱,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間港柜,已是汗流浹背惶桐。 一陣腳步聲響...
    開封第一講書人閱讀 32,006評論 1 266
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留潘懊,地道東北人姚糊。 一個月前我還...
    沈念sama閱讀 46,406評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像授舟,于是被迫代替她去往敵國和親救恨。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,576評論 2 349

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

  • C語言相關(guān)面試題 1.static有什么用途释树? 答案:在C語言中肠槽,static主要定義全局靜態(tài)變量,定義局部靜態(tài)變...
    Leeson1989閱讀 2,214評論 0 20
  • 面試題參考1 : 面試題[http://www.cocoachina.com/ios/20150803/12872...
    江河_ios閱讀 1,721評論 0 4
  • C語言相關(guān)面試題 1.static有什么用途奢啥? 答案:在C語言中秸仙,static主要定義全局靜態(tài)變量,定義局部靜態(tài)變...
    ios南方閱讀 6,769評論 1 18
  • iOS中數(shù)據(jù)存儲方式有以下幾種: (1)桩盲、writeToFile:atomically: (2)寂纪、NSUserDe...
    零度_不結(jié)冰閱讀 1,184評論 0 1
  • 1.不可變數(shù)組轉(zhuǎn)變?yōu)榭勺償?shù)組聲明實例變量的數(shù)組 必須記得實現(xiàn) 對于遍歷數(shù)組找到對象后 如果還需要查找 記得先結(jié)束 ...
    小新xin閱讀 691評論 0 1