Skip to content

Instantly share code, notes, and snippets.

@cybertk
Created August 17, 2015 07:55
Show Gist options
  • Save cybertk/61dbc56595723efb7fac to your computer and use it in GitHub Desktop.
Save cybertk/61dbc56595723efb7fac to your computer and use it in GitHub Desktop.
Convert IP address to dot syntax from unsigned integer in iOS
//
// UInt32+IPv4String.swift
// Cybertk
//
// Created by Quanlong He on 8/14/15.
// Copyright © 2015 Quanlong He. All rights reserved.
//
import Foundation
extension UInt32 {
public func IPv4String() -> String {
let ip = self
let byte1 = UInt8(ip & 0xff)
let byte2 = UInt8((ip>>8) & 0xff)
let byte3 = UInt8((ip>>16) & 0xff)
let byte4 = UInt8((ip>>24) & 0xff)
return "\(byte1).\(byte2).\(byte3).\(byte4)"
}
}
@IdoBn
Copy link

IdoBn commented May 28, 2020

The above is incorrect... It will result in a reverse ordered IP.
To fix this simply change the return value to be as follows:

return "\(byte4).\(byte3).\(byte2).\(byte1)"

@mrafayfarooq
Copy link

@IdoBn is correct.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment