APNS会在多少天后将设备标记为不活跃?
创始人
2024-09-09 00:00:59
0

根据 APNS 的文档,APNS 会在设备最后一次连接 APNS 成功后的 30 天后将设备标记为不活跃(inactive)。因此,如果设备在 30 天内与 APNS 成功连接,APNS 就会认为该设备仍然是活跃的(active)。如果设备在 30 天内没有与 APNS 成功连接,则 APNS 会尝试再次连接该设备,如果连接仍然失败,则 APNS 会将该设备标记为不活跃。

以下是一个示例代码,用于检查设备是否被 APNS 标记为不活跃:

let deviceToken = "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef"
guard let apnsExpireDate = apnsExpirationDate(for: deviceToken) else {
    // Device is inactive, handle accordingly
    return
}

let now = Date()
if now > apnsExpireDate {
    // Device is inactive, handle accordingly
} else {
    // Device is still active
}

private func apnsExpirationDate(for deviceToken: String) -> Date? {
    let apnsExpireTimeInterval: TimeInterval = 30 * 24 * 60 * 60 // 30 days in seconds
    let apnsExpireTimeStamp = UInt32(Date().timeIntervalSince1970 - apnsExpireTimeInterval)
    let apnsExpireByteValue = withUnsafeBytes(of: apnsExpireTimeStamp) { Data($0) }.suffix(4)
    let deviceTokenData = Data(hexEncoded: deviceToken)
    var apnsDeviceToken = Data(repeating: 0, count: 32)
    apnsDeviceToken.append(deviceTokenData)
    apnsDeviceToken.append(apnsExpireByteValue)
    return Date(timeIntervalSince1970: TimeInterval(bigEndian: apnsExpireTimeStamp))
}

extension Data {
    init?(hexEncoded string: S) {
        guard let regex = try? NSRegularExpression(pattern: "^[0-9a-f]{2}$", options: .caseInsensitive) else {
            return nil
        }
        guard regex.matches(in: String(string), options: [], range: NSRange(location: 0, length: string.utf16.count)).count == string.utf16.count / 2 else {
            return nil
        }
        self.init(capacity: string.utf16.count / 2)
        var iterator = string.utf16.makeIterator()
        while let high = iterator.next(), let low = iterator.next() {

相关内容

热门资讯

第3透明挂!金州水鱼有挂吗(辅... 第3透明挂!金州水鱼有挂吗(辅助挂)太坑了原来真的有挂(有挂功能)-哔哩哔哩是一款可以让一直输的玩家...
9智能(wepoke实锤)外挂... 1、9智能(wepoke实锤)外挂透明挂辅助神器(透视)规律教程(有挂方法)-哔哩哔哩;详细教程。2...
第8个网页版!德扑之星禁止模拟... 第8个网页版!德扑之星禁止模拟器(作弊)软件透明挂(发现有挂)-哔哩哔哩;德扑之星黑科技是一款具有i...
第十个线上!wepoke苹果版... 第十个线上!wepoke苹果版外挂(软件透明挂演示)软件透明挂(有挂分享)-哔哩哔哩科技教程也叫必备...
十真的有挂(微扑克)外挂透明挂... 十真的有挂(微扑克)外挂透明挂辅助器安装(辅助挂)总结教程(有挂技巧)-哔哩哔哩;免费微扑克平台AI...
第7个下载!wopoker苹果... 第7个下载!wopoker苹果下载(辅助)辅助透视(详细教程)-哔哩哔哩;亲真的是有正版授权,小编(...
一个插件!德扑ai智能(软件决... 1、一个插件!德扑ai智能(软件决策)透视辅助(有挂神器)-哔哩哔哩2、进入游戏-大厅左侧-新手福利...
9稳赢!逗娱碰胡抓奖技巧(透视... 9稳赢!逗娱碰胡抓奖技巧(透视)太坑了原来真的有挂(有挂功能)-哔哩哔哩您好,逗娱碰胡抓奖技巧,确实...
八是真的!闽游福建十三水辅助器... 八是真的!闽游福建十三水辅助器哪里买(透视)太坑了其实真的有挂(有挂辅助)-哔哩哔哩1、下载好闽游福...
5个专用!德扑胜率计算的软件(... 这是一款非常优秀的德扑胜率计算 ia辅助检测软件,能够让你了解到德扑胜率计算中牌率当中全部隐藏参数,...