KexAri KexAri - 1 year ago 137
iOS Question

Trouble converting device token Swift 3

I am trying to convert a device token and using the following code (swift 3):

parameters["device_token"] = request.deviceToken.reduce("", {$0 + String(format: "%02X", $1)}).

However I am getting the compiler error
Binary operator '+' cannot be applied to operands of type Any? and String
. What am I doing wrong here?

Answer Source

try this

func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) {

var token = ""

for i in 0..<deviceToken.count {
 token = token + String(format: "%02.2hhx", arguments: [deviceToken[i]])

  print("Registration succeeded!")
  print("Token: ", token)
Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download