ip2location facebbook  ip2location twitter  ip2location google+ ip2location github

Cocoa Library

This is a Cocoa library that enables the user to find the country, region, city, coordinates, zip code, time zone, ISP, domain name, connection type, area code, weather, MCC, MNC, mobile brand name, elevation and usage type that any IP address or hostname originates from. It has been optimized for speed and memory utilization. Developers can use the API to query all IP2Location™ binary databases for applications written in C or supporting static/dynamic library.

Download Download   Source Source


  1. Download and decompress ip2location-cocoa-x.x.x.zip
  2. For Xcode usage:
    1. Add ip2location.framework to your Xcode project by dragging and dropping it into Project Navigator
    2. In your appropriate target, under "Build Settings", select "Runpath Search Paths" in the "Linking" category, and enter "@loader_path/../Frameworks" (without the quotes).
    3. Build your project
  3. For build from command line or makefile
    1. Copy ip2location.framework to your working directory
    2. Build and link your target with following options added (without the quotes): "-F. -L. -Wl,-framework,ip2location -Wl,-framework,Foundation"
    3. Change linked framework path in your binary: "install_name_tool -change @rpath/ip2location.framework/Versions/A/ip2location ip2location.framework/Versions/A/ip2location binary_executable"


Sample Codes
#import <Foundation/Foundation.h>
#import <ip2location/IP2Location.h>

int main(int argc, const char * argv[])

    @autoreleasepool {
    	//open database
    	IPLocation *locationDB = [[IPLocation alloc] initWithDataPath: @"data/IP-COUNTRY-SAMPLE.BIN"];

  //set memory cache type
  [locationDB setMemoryType: IP2LOCATION_MEMORY_CACHE];

  IPLocationRecord *rec =  [locationDB recordWithIP: @""];
  NSLog(@"%@", rec.countryShort);
    return 0;


Sample IP2Location Databases (BIN)

The following evaluation copy of the database file has limited range of IP address information compare to commercial. For evaluation purpose, you can query IP addresses from (IPv4) or 2A04:0:0:0:0:0:0:0-2A04:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF (IPv6).

Sample Packages IPv4 IPv6
IP2Location DB1 Sample Bin File679.73 kB350.84 kB
IP2Location DB2 Sample Bin File37.69 MB378.66 kB
IP2Location DB3 Sample Bin File19.55 MB363.65 kB
IP2Location DB4 Sample Bin File54.14 MB388.27 kB
IP2Location DB5 Sample Bin File29.71 MB370.18 kB
IP2Location DB6 Sample Bin File63.78 MB393.44 kB
IP2Location DB7 Sample Bin File60.12 MB398.64 kB
IP2Location DB8 Sample Bin File70.10 MB403.55 kB
IP2Location DB9 Sample Bin File34.33 MB373.45 kB
IP2Location DB10 Sample Bin File75.59 MB408.65 kB
IP2Location DB11 Sample Bin File35.01 MB374.17 kB
IP2Location DB12 Sample Bin File76.13 MB409.59 kB
IP2Location DB13 Sample Bin File33.51 MB371.65 kB
IP2Location DB14 Sample Bin File77.47 MB410.29 kB
IP2Location DB15 Sample Bin File37.98 MB378.07 kB
IP2Location DB16 Sample Bin File82.04 MB415.93 kB
IP2Location DB17 Sample Bin File40.49 MB380.09 kB
IP2Location DB18 Sample Bin File89.27 MB425.95 kB
IP2Location DB19 Sample Bin File72.85 MB404.88 kB
IP2Location DB20 Sample Bin File91.67 MB427.07 kB
IP2Location DB21 Sample Bin File41.36 MB380.72 kB
IP2Location DB22 Sample Bin File95.58 MB430.11 kB
IP2Location DB23 Sample Bin File73.31 MB405.90 kB
IP2Location DB24 Sample Bin File96.54 MB431.79 kB