美文网首页
骚年你要不要UUID?(iOS)

骚年你要不要UUID?(iOS)

作者: 神秘唤猫人 | 来源:发表于2017-03-11 16:22 被阅读106次

    [[[UIDevice currentDevice]identifierForVendor] UUIDString];

    [NSUUID UUID].UUIDString;

    这两个~ 都会变!

    同一个开发者的app会公用一个uuid,

    但是这个开发者的app被删光的时候, 再安装他的任意app, 生成的uuid都是会变的~

    结论的话 只能生成UUID后用钥匙串存啦

    然后有机智的骚年担心了: iCloud这个东西可以同步啊, 别的设备不也拿到了吗, 那还算什么唯一

    这个钥匙串啊, 可以设置所存数据只用在单一设备上, 备份也转移不走

    钥匙串的API还是不友好啊, 墙裂推荐一个 KeychainAccess

    他是swift写的, 我们只要把他的这个swift文件(1个)拷到我们项目里就可以, 不用什么pod\carthage什么的

    如果oc项目要用的话, 可以新建个XXManager.swift文件, 然后把KeyChainAccess的代码往里面一拷贝嘿嘿

    用自己的奇思妙想封装一下, 如下图

    class KCManager: NSObject {

    func checkUUID() -> Bool {

    let keychain = Keychain(service: "你的bundleID").accessibility(.alwaysThisDeviceOnly)

    let uuidres = keychain["随便来个键名"]

    if uuidres == nil{

    return false

    }else{

    return true

    }

    }

    func writeUUID(uuid: String) -> Void {

    let keychain = Keychain(service: "你的bundleID").accessibility(.alwaysThisDeviceOnly)

    keychain["随便来个键名"] = uuid

    }

    func readUUID() -> String {

    let keychain = Keychain(service: "你的bundleID").accessibility(.alwaysThisDeviceOnly)

    return keychain["随便来个键名"]!

    }

    }


    然后就随便折腾啦啦啦啦, OC桥接swift之后编译变慢也是结果之一呵呵呵呵呵

    相关文章

      网友评论

          本文标题:骚年你要不要UUID?(iOS)

          本文链接:https://www.haomeiwen.com/subject/kwzagttx.html