目的
iOSアプリで、パーティクルを利用している部分にワーニングが表示されていて、ちょっと気持ち悪かったので対応した。
ワーニング内容については以下
unarchiveObject(withFile:)' was deprecated in iOS 12.0: Use +unarchivedObjectOfClass:fromData:error: instead
環境
- Xcode Version 12.2
- Swift 5
参照サイト
unarchiveObject(withFile :)の非推奨を解決する方法
対応メモ
ワーニングとなっていた部分は以下の2行目で
let path = Bundle.main.path(forResource: "pa", ofType: "sks")
let particle = NSKeyedUnarchiver.unarchiveObject(withFile: path!) as! SKEmitterNode
//.....
以下のように対応しました。
do {
let path = Bundle.main.url(forResource: "pa", withExtension: "sks")
let fileData = try Data(contentsOf: path!)
let particle = try NSKeyedUnarchiver.unarchiveTopLevelObjectWithData(fileData) as! SKEmitterNode
//.....
} catch {
}
以上です。