How to validate an IP address in Objective-C?
Here's a category using the modern inet_pton which will return YES for a valid IPv4 or IPv6 string.
    #include <arpa/inet.h>
    @implementation NSString (IPValidation)
    - (BOOL)isValidIPAddress
    {
        const char *utf8 = [self UTF8String];
        int success;
        struct in_addr dst;
        success = inet_pton(AF_INET, utf8, &dst);
        if (success != 1) {
            struct in6_addr dst6;
            success = inet_pton(AF_INET6, utf8, &dst6);
        }
        return success == 1;
    }
    @end
                        If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With