【问题标题】:Detect if app starts after backup restore检测应用程序是否在备份恢复后启动
【发布时间】:2018-07-31 20:30:04
【问题描述】:

有没有办法在恢复备份后快速检测应用程序是否启动?假设在一台设备上进行备份并将其恢复到另一台设备上。

【问题讨论】:

    标签: ios swift xcode backup restore


    【解决方案1】:

    我尝试了一个经过一些测试似乎可以工作的解决方案。我尝试了几次备份还原,对我来说效果很好。

    第一步是在应用程序首次运行时保存供应商标识符:

    if UserDefaults.standard.value(forKey: "vendorID") == nil {
        if let vendorID = myDevice.identifierForVendor?.description {
            UserDefaults.standard.set(vendorID, forKey: "vendorID")
        }
    }
    

    第二步是检查保存的供应商 ID 是否与当前设备的供应商标识符匹配。 由于在备份或将备份恢复到设备后供应商 ID 会发生变化,因此如果两个供应商 ID 不匹配,我可以执行其他操作:

    let savedVendorID = UserDefaults.standard.value(forKey: "vendorID") as! String
    if savedVendorID == myDevice.identifierForVendor?.description {
        //The app can start normally
    } else {
        //Do action needed after backup restore
    }
    

    供应商 ID 在其他条件下也会发生变化,但对于我的应用来说,这些变化并不重要。

    【讨论】:

      猜你喜欢
      • 2015-07-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-06
      • 2011-08-20
      • 2017-06-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多