Anyone know of an IP address iOS widget

I’m working on an app where I need to let the user enter ip addresses. I was wondering if there is a SwiftUI IP address entry view? Or I guess a UIKit control would work.


This is possible both in SwiftUI and UIKit. I’m assuming you are looking for a sample, so here goes a simple one that you can use as a starting block. It creates a form that doesn’t “submit” until the entry is valid:

import SwiftUI

struct ContentView: View {
	@State var address = ""

	var body: some View {
		NavigationView {
			Form {
				Section {
					TextField("IP", text: $address)
				Section {
					NavigationLink {
					} label: {
				.disabled(hasValidAddress == false)
			.navigationTitle("Some Form")

	var hasValidAddress: Bool {
		var socketAddress = sockaddr_in()
		return address.withCString({ cstring in inet_pton(AF_INET, cstring, &socketAddress.sin_addr) }) == 1

struct ContentView_Previews: PreviewProvider {
	static var previews: some View {
1 Like

The code you are looking for is in the computed property hasValidAddress, which attempts to convert an IP from string to a number (32 bit), if it success, the IPv4 is valid.

Note how it disables the navigation link until it has a valid address.

That’s a good idea. Thanks