← All SDKs and distributions

MapplsUIWidgets - UI Components SDK for iOS

A versioned iOS distribution package used to integrate maps, search places, routes navigation, tracking telematics, widgets deep links, capture feedback, identity platform into an application.

distributionEntitlement And Compatibility Reviewhybrid
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.
PlatformiOSSwift · Text
Source activityActiveLast repository push 2026-07-27
CorrespondenceUnmatched0 minimized local candidates; candidates are not compatibility proof
Captured documentation30 sections14 source samples · 28 endpoint signals

Install and configuration guidance

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

3 matching sections

Dependencies

This library depends upon several Mappls's own libraries. All dependent libraries will be automatically installed using CocoaPods.

Below are list of dependencies which are required to run this SDK:

• MapplsAPICore - MapplsAPIKit - MapplsMap

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, MapplsAPIKit, MapplsMap. All dependent libraries will be automatically.

Source code evidence

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

6 shown
Add a full-screen controlSwift
import UIKit
import MapplsUIWidgets

class ViewController: UIViewController {

  override func viewDidLoad() {
    makeButton()
  }

  // Present the Autocomplete view controller when the button is pressed.
  @objc func autocompleteClicked(_ sender: UIButton) {
    let autocompleteController = MapplsAutocompleteViewController(theme: .auto)
    autocompleteController.delegate = self

    // Specify a filter.
    let filter = MapplsAutocompleteFilter()
    autocompleteController.autocompleteFilter = filter

    // Display the autocomplete view controller.
    present(autocompleteController, animated: true, completion: nil)
  }

  // Add a button to the view.
  func makeButton() {
    let btnLaunchAc = UIButton(frame: CGRect(x: 5, y: 150, width: 300, height: 35))
    btnLaunchAc.backgroundColor = .blue
    btnLaunchAc.setTitle("Launch autocomplete", for: .normal)
    btnLaunchAc.addTarget(self, action: #selector(autocompleteClicked), for: .touchUpInside)
    self.view.addSubview(btnLaunchAc)
  }

}

extension ViewController: MapplsAutocompleteViewControllerDelegate {

  // Handle the user's selection.
  func didAutocomplete(viewController: MapplsAutocompleteViewController, withPlace place: MapplsAtlasSuggestion, resultType type: MapplsAutosuggestResultType) {
    print("Place name: \(place.placeName)")
    print("Place mapplsPin: \(place.mapplsPin)")
    dismiss(animated: true, completion: nil)
  }

  func didAutocomplete(viewController: MapplsAutocompleteViewController, withFavouritePlace place: MapplsUIWidgetAutosuggestFavouritePlace) {
    print("Place name: \(place.placeName)")
    print("Place mapplsPin: \(place.mapplsPin)")
  }

  func didAutocomplete(viewController: MapplsAutocompleteViewController, withSuggestion suggestion: MapplsSearchPrediction) {
            
  }
  
  func didRequestForAutoSearchOptions(options: MapplsAutoSearchAtlasOptions) -> MapplsAutoSearchAtlasOptions {
      return options
  }
  
  func didRequestForTextSearchOptions(options: MapplsTextSearchAtlasOptions) -> MapplsTextSearchAtlasOptions {
      return options
  }

  func didFailAutocomplete(viewController: MapplsAutocompleteViewController, withError error: NSError) {
    // TODO: handle the error.
    print("Error: ", error.localizedDescription)
  }

  // User canceled the operation.
  func wasCancelled(viewController: MapplsAutocompleteViewController) {
    dismiss(animated: true, completion: nil)
  }

  // Turn the network activity indicator on and off again.
  func didRequestAutocompletePredictions(viewController: MapplsAutocompleteViewController) {
    UIApplication.shared.isNetworkActivityIndicatorVisible = true
  }

  func didUpdateAutocompletePredictions(viewController: MapplsAutocompleteViewController) {
    UIApplication.shared.isNetworkActivityIndicatorVisible = false
  }

}
SwiftUI Full Screen ControlSwift
struct MapplsAutocompleteViewControllerSwiftUIWrapper: UIViewControllerRepresentable {
        ...
    }
SwiftUI Full Screen ControlSwift
@Environment(\.presentationMode) var presentationMode

    func makeUIViewController(context: UIViewControllerRepresentableContext<MapplsAutocompleteViewControllerSwiftUIWrapper>) -> MapplsAutocompleteViewController {
        let autocompleteViewController = MapplsAutocompleteViewController()        
        autocompleteViewController.delegate = context.coordinator
        return autocompleteViewController
    }
SwiftUI Full Screen ControlSwift
func updateUIViewController(_ uiViewController: MapplsAutocompleteViewController, context: UIViewControllerRepresentableContext<MapplsAutocompleteViewControllerSwiftUIWrapper>) {

    }
SwiftUI Full Screen ControlSwift
@Binding var placeSuggestion: MapplsAtlasSuggestion?
SwiftUI Full Screen ControlSwift
struct MapplsAutocompleteViewControllerSwiftUIView: View {
      @Binding var placeSuggestion: MapplsAtlasSuggestion?
    
      var body: some View {
        MapplsAutocompleteViewControllerSwiftUIWrapper(placeSuggestion: $placeSuggestion)
            .navigationBarHidden(true)
      }
    }

Connected implementation paths

Exact source paths

No quickstart or starter explicitly names this source. Continue through the platform path without claiming direct lineage.

Migration evidence

No published migration track names this source. Lifecycle and compatibility review still apply.

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.