57 lines
1.6 KiB
Swift
57 lines
1.6 KiB
Swift
//
|
|
// ArchivedData.swift
|
|
// nearby_service
|
|
//
|
|
// Created by Kseniia Nikitina on 4/2/24.
|
|
//
|
|
|
|
import Foundation
|
|
import MultipeerConnectivity
|
|
|
|
|
|
class Archiver {
|
|
static func getPeerID() -> MCPeerID? {
|
|
guard let savedData = UserDefaults.standard.data(forKey: PEER_ID),
|
|
let unarchivedPeerID = try? NSKeyedUnarchiver.unarchivedObject(ofClass: MCPeerID.self, from: savedData)
|
|
else {
|
|
return nil
|
|
}
|
|
return unarchivedPeerID
|
|
}
|
|
|
|
static func savePeerID(for peerID: MCPeerID) {
|
|
|
|
do {
|
|
UserDefaults.standard.set(
|
|
try NSKeyedArchiver.archivedData(withRootObject: peerID, requiringSecureCoding: false),
|
|
forKey: PEER_ID
|
|
)
|
|
} catch let e {
|
|
Logger.error(message: e.localizedDescription)
|
|
}
|
|
}
|
|
|
|
|
|
static func getName() -> String? {
|
|
guard let savedData = UserDefaults.standard.data(forKey: DEVICE_NAME),
|
|
let unarchivedName = try? NSKeyedUnarchiver.unarchivedObject(ofClass: NSData.self, from: savedData)
|
|
else {
|
|
return nil
|
|
}
|
|
return String(data: unarchivedName as Data, encoding: .utf8)
|
|
}
|
|
|
|
static func saveName(for name: String) {
|
|
if let data = name.data(using: .utf8) {
|
|
do {
|
|
UserDefaults.standard.set(
|
|
try NSKeyedArchiver.archivedData(withRootObject: data, requiringSecureCoding: false),
|
|
forKey: DEVICE_NAME
|
|
)
|
|
} catch let e {
|
|
Logger.error(message: e.localizedDescription)
|
|
}
|
|
}
|
|
}
|
|
}
|