mirror of
https://github.com/GLEGram/GLEGram-iOS.git
synced 2026-04-23 19:36:26 +02:00
4647310322
Based on Swiftgram 12.5 (Telegram iOS 12.5). All GLEGram features ported and organized in GLEGram/ folder. Features: Ghost Mode, Saved Deleted Messages, Content Protection Bypass, Font Replacement, Fake Profile, Chat Export, Plugin System, and more. See CHANGELOG_12.5.md for full details.
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 {
|
|
}
|
|
}
|
|
}
|