在 swift 中使用访问控制?

Working with Access Control in swift?

我想在 swift 中获得所有 classes 级别的设备 ID,每次异步调用时都会将其作为参数包含在内 made.And 我真的不清楚Apple Access Control.So,我真的需要帮助

那么,如何在开始时保存设备 ID 并且所有 classes 都可以访问它们以进行异步请求?

在app,didFinishLaunchingWithOptions,我会添加如下代码 假设钥匙串是我存储价值的图书馆

if keychain.get("deviceID") == nil{
     keychain.set(UIDevice.currentDevice().identifierForVendor!.UUIDString,forKey : ”deviceID”)
     //some private var deviceID = keychain.get(“deviceID”)
}
else{
    some private var deviceID = keychain.get(“deviceID”)
}

我想在 UIViewController 的任何地方访问那个私有变量 class。

class ViewController : UIViewController {
     let deviceID = //some private var with getter?
}

有什么想法可以在 swift 中使用 Apple 访问控制吗?

那个问题与那个问题有关:Getting Device ID is not unique

将您的设备 ID 定义为静态的,这样您就可以随处访问它

在启动钥匙串的代码之后,将其设置为静态 class

class DeviceArg {
 static var deviceId = keychain.get(“deviceID”)
}


// some other place in the code
let check = DeviceArg.deviceId //get deviceId

检查我的代码:-

var mytoken1: String = deviceToken.description.stringByReplacingOccurrencesOfString("<", withString: "")
var mytoken2: String = mytoken1.stringByReplacingOccurrencesOfString(">", withString: "")
mytoken2 = mytoken2.stringByReplacingOccurrencesOfString(" ", withString: "")
NSUserDefaults.standardUserDefaults().setValue(mytoken2, forKey: "DEVICE_TOKEN")
NSUserDefaults.standardUserDefaults().synchronize()