← All SDKs and distributions

[MapplsAPIKit (REST API Kit for iOS)]()

Mappls API Kit Native for iOS distributed via the SPM (Swift Package Manager).

distributionEntitlement And Compatibility Reviewstateless
Entitlement And Compatibility Review

Compatibility decision

Use for artifact discovery only. Confirm entitlement and the exact SDK, native artifact, toolchain, architecture, and host-application version pairing.

Repository content, activity, code fragments, and local correspondence are discovery evidence only. They do not establish a supported package coordinate, binary identity, current version, account entitlement, runtime pairing, production compatibility, or approval.
PlatformiOSObjective-C · Swift · Text
Source activityActiveLast repository push 2026-08-04
CorrespondenceUnmatched0 minimized local candidates; candidates are not compatibility proof
Captured documentation103 sections14 source samples · 36 endpoint signals

Products and prerequisites

  • An iOS project with Xcode and the package manager required by the source release
  • OAuth client credentials issued for the intended Mappls project
  • A Mappls project key restricted to the intended app, domain, or backend
  • The corresponding product entitlement enabled for the developer application

Install and configuration guidance

These statements are reproduced as normalized repository evidence. Validate coordinates and versions before copying them into a project.

4 matching sections

Installation

To add a package dependency to your Xcode project, select File > Swift Packages > Add Package Dependency and enter its repository URL. See Adding Package Dependencies to Your App.

Dependencies

This library depends upon MapplsAPICore. All dependent libraries will be automatically.

Getting Started

Mappls Map SDK for iOS lets you easily add Mappls Map and services to your own iOS app.It supports iOS SDK 9.0 and above and Xcode 10.1 or later. You can have a look at the map and features you will get in your own app by using the Mappls Map app for iOS. The SDK handles Map Display along with a bunch of controls and native gestures.

API Usage and Requirements

The allowed SDK hits are described on the plans page. Note that your usage is shared between platforms, so the API hits you make from a web application, Android app or an iOS app all add up to your allowed daily limit.

Source code evidence

Use these fragments to understand integration shape. They may belong to an older toolchain or authentication generation.

6 shown
Objective CObjectivec
MapplsAutoSuggestManager * autoSuggestManager = [MapplsAutoSuggestManager sharedManager];
// or
MapplsAutoSuggestManager *autoSuggestManager = [[MapplsAutoSuggestManager alloc] initWithRestKey:MapplsAccountManager.restAPIKey clientId:MapplsAccountManager.atlasClientId clientSecret:MapplsAccountManager.atlasClientSecret grantType:MapplsAccountManager.atlasGrantType];

MapplsAutoSearchAtlasOptions * autoSuggestOptions = [[MapplsAutoSearchAtlasOptions alloc] initWithQuery:@"mmi000" withRegion:MapplsRegionTypeIndia];
autoSuggestOptions.location = [[CLLocation alloc] initWithLatitude:28.2323234 longitude:72.3434123];
autoSuggestOptions.zoom = [[NSNumber alloc] initWithInt:5];
[autoSuggestManager getAutoSuggestionResultsWithOptions:autoSuggestOptions completionHandler:^(MapplsLocationResults * _Nullable locationResults, NSError * _Nullable error) {
    if (error) {
        NSLog(@"%@", error);
    } else if (locationResults) {
        MapplsAutoSuggestLocationResults * results = (MapplsAutoSuggestLocationResults *) locationResults;
        if(results && results.suggestions) {
            for (MapplsAtlasSuggestion * suggestion in results.suggestions) {
                NSLog(@"Auto Suggest %@%@", suggestion.latitude, suggestion.longitude);
            }
        }
        if(results && results.suggestedSearches) {
            for (MapplsSearchPrediction * suggestion in results.suggestedSearches) {
                NSLog(@"Auto Suggest %@", suggestion.identifier);
            }
        }
    } else {
        NSLog(@"No Results");
    }
}];
SwiftSwift
let autoSuggestManager = MapplsAutoSuggestManager.shared
//Or
let autoSuggestManager = MapplsAutoSuggestManager(restKey:
MapplsAccountManager.restAPIKey(), clientId:
MapplsAccountManager.atlasClientId(), clientSecret:
MapplsAccountManager.atlasClientSecret(), grantType:
MapplsAccountManager.atlasGrantType())

let autoSearchAtlasOptions = MapplsAutoSearchAtlasOptions(query: "mmi000",
withRegion: .india)
autoSearchAtlasOptions.location = CLLocation(latitude: 28.2323234, longitude: 72.3434123)
autoSearchAtlasOptions.zoom = 5
autoSuggestManager.getAutoSuggestionResults(autoSearchAtlasOptions) { (locationResults, error) in
    if let error = error {
        print("error: \(error.localizedDescription)")
    } else if let locationResults = locationResults as? MapplsAutoSuggestLocationResults {
        if let suggestions = locationResults.suggestions {
            for suggestion in suggestions {
                print("suggestion: \(suggestion.placeName)")
            }
        }
        if let suggestions = locationResults.suggestedSearches {
            for suggestion in suggestions {
                print("suggestedSearches: \(suggestion.identifier)")
            }
        }
    } else {
        print("No Results")
    }
}
Objective CObjectivec
MapplsReverseGeocodeManager * reverseGeocodeManager = [MapplsReverseGeocodeManager sharedManager];
//Or
MapplsReverseGeocodeManager * reverseGeocodeManager = [[MapplsReverseGeocodeManager alloc] initWithClientId:MapplsAccountManager.clientId clientSecret:MapplsAccountManager.clientSecret grantType:nil host:nil scheme:nil];
    
MapplsReverseGeocodeOptions *revOptions = [[MapplsReverseGeocodeOptions alloc] initWithCoordinate:CLLocationCoordinate2DMake(28.553291, 77.258876) withRegion:MapplsRegionTypeIndia];
    
[reverseGeocodeManager reverseGeocodeWithOptions:revOptions completionHandler:^(NSArray<MapplsGeocodedPlacemark *> * _Nullable placemarks, NSString * _Nullable attribution, NSError * _Nullable error) {
    if (error) {
        NSLog(@"%@", error);
    } else if (placemarks.count > 0) {
        NSLog(@"Reverse Geocode %@",
        placemarks[0].formattedAddress);
    } else {
        NSLog(@"No results");
    }
}];
SwiftSwift
let reverseGeocodeManager = MapplsReverseGeocodeManager.shared
//Or
let reverseGeocodeManager = MapplsReverseGeocodeManager(clientId: MapplsAccountManager.clientId(), clientSecret: MapplsAccountManager.clientSecret())
        
let revOptions = MapplsReverseGeocodeOptions(coordinate: CLLocationCoordinate2D(latitude: 28.553291, longitude: 77.258876), withRegion: .india)
reverseGeocodeManager.reverseGeocode(revOptions) { (placemarks, attribution, error) in
    if let error = error {
        print("%@", error)
    } else if let placemarks = placemarks, !placemarks.isEmpty {
        print("Reverse Geocode: \(placemarks[0].formattedAddress)")
    } else {
        print("No results")
    }
}
Request ParametersSwift
let filter = MapplsNearbyKeyValueFilter(filterKey: "brandId", filterValues: [String,String])
Objective CObjectivec
MapplsNearByManager * nearByManager = [MapplsNearByManager sharedManager];
//Or
MapplsNearByManager * nearByManager = [[MapplsNearByManager alloc] initWithRestKey:MapplsAccountManager.restAPIKey clientId:MapplsAccountManager.atlasClientId clientSecret:MapplsAccountManager.atlasClientSecret grantType:MapplsAccountManager.atlasGrantType];
    
NSString *refLocation = @"28.550667, 77.268959";
    
MapplsNearbyAtlasOptions *nearByOptions = [[MapplsNearbyAtlasOptions alloc] initWithQuery:@"EV Charging" location:refLocation withRegion:MapplsRegionTypeIndia];
    
[nearByManager getNearBySuggestionsWithOptions:nearByOptions completionHandler:^(MapplsNearbyResult * _Nullable result, NSError * _Nullable error) {
    if (error) {
        NSLog(@"%@", error);
    } else if (result.suggestions.count > 0) {
        NSLog(@"Nearby %@", result.suggestions[0].placeAddress);
    } else {
        NSLog(@"No results");
    }
}];

Connected implementation paths

Adjacent platform paths

Production compatibility checklist

A clean demo is the beginning of the decision, not its conclusion.

  1. 01

    Confirm the exact package or artifact identifier and version with the owning Mappls product team; a repository name is not a package contract.

  2. 02

    Verify platform toolchain, operating-system, architecture, host-application, and transitive-dependency compatibility from a clean build.

  3. 03

    Bind only the documented credential class and restriction to its intended client or trusted-server runtime; never commit or log a secret.

  4. 04

    Verify account entitlement, region, quota, endpoint generation, data rights, and applicable commercial terms independently.

  5. 05

    Exercise initialization, ready, denied, empty, offline, timeout, cancellation, background/resume, and teardown paths.

  6. 06

    Pin dependency and native artifact integrity evidence; retain source fingerprint, selected version, lockfile, build provenance, and approving owner.

  7. 07

    For stateful or hybrid behavior, persist application state outside the SDK and prove idempotency, reconciliation, audit, privacy, and recovery.

  8. 08

    Release by a bounded cohort with observable rollback; repository activity or a successful fixture is never production compatibility evidence.

Local repository candidates

Only minimized identity evidence is exposed. Review candidates side by side; do not assume they are the same release line.

No deterministic local candidate was found for this public source.