mirror of
https://github.com/ichmagmaus111/ghostgram.git
synced 2026-04-23 16:16:08 +02:00
32 lines
956 B
Swift
32 lines
956 B
Swift
import SwiftSignalKit
|
|
import DeviceCheck
|
|
|
|
public enum SGDeviceTokenError {
|
|
case unsupportedDevice
|
|
case generic(String)
|
|
}
|
|
|
|
public func getDeviceToken() -> Signal<String, SGDeviceTokenError> {
|
|
return Signal { subscriber in
|
|
let currentDevice = DCDevice.current
|
|
if currentDevice.isSupported {
|
|
currentDevice.generateToken { (data, error) in
|
|
guard error == nil else {
|
|
subscriber.putError(.generic(error!.localizedDescription))
|
|
return
|
|
}
|
|
if let tokenData = data {
|
|
subscriber.putNext(tokenData.base64EncodedString())
|
|
subscriber.putCompletion()
|
|
} else {
|
|
subscriber.putError(.generic("Empty Token"))
|
|
}
|
|
}
|
|
} else {
|
|
subscriber.putError(.unsupportedDevice)
|
|
}
|
|
return ActionDisposable {
|
|
}
|
|
}
|
|
}
|