Swiftpack.co - phunware/maas-mapping-ios-sdk as Swift Package

Swiftpack.co is a collection of thousands of indexed Swift packages. Search packages.
See all packages published by phunware.
phunware/maas-mapping-ios-sdk v3.13.0-beta-08
Phunware Mapping SDK for iOS
⭐️ 2
🕓 43 weeks ago
.package(url: "https://github.com/phunware/maas-mapping-ios-sdk.git", from: "v3.13.0-beta-08")

PWMapKit SDK for iOS

Version License Platforms Twitter

This is Phunware's Mapping SDK for use with its Multiscreen-as-a-Service platform. It is a comprehensive indoor/outdoor mapping and wayfinding solution that allows easy integration with Phunware's maps and location-based services. Visit http://maas.phunware.com for more details and to sign up.


  • PWLocation 3.13.x
  • PWCore 3.12.x
  • iOS 13.0 or greater
  • Xcode 13 or greater



It is required to use CocoaPods 1.10 or greater to integrate the framework. Simply add the following to your Podfile:

pod 'PWMapKit'


Documentation is included in the Documents folder in the repository as both HTML and as a .docset. You can also find the latest documentation here: http://phunware.github.io/maas-mapping-ios-sdk


The primary use of the components of PWMapKit revolve around creating a map view, displaying points of interest, showing the user's location and indoor routing.


Make sure your app is correctly set up before you start working on map integration.

Location Permissions

Location authorization of "When In Use" or "Always" is required for a PWLocationManager to function normally. Please follow Apple's Best Practices for requesting location permissions. Do not attempt to use a PWLocationManager if the user does not provide location authorization as this can lead to unexpected behavior.

Adding Map View

// Load a building
PWBuilding.building(withIdentifier: <BUILDING_IDENTIFIER>) { (building, error) in
    // Get the buliding object here


// Show the building on the map
let mapView = PWMapView(frame: <FRAME>)
mapView.delegate = self

map.setBuilding(<BUILDING>, animated: <ANIMATED>) { (error) in     
    // Building should be on the map

Register Location Provider

The PWMapView can display a user location on the map if a location provider is registered with the PWMapView. The location providers are in the PWLocation framework (see https://github.com/phunware/maas-location-ios-sdk to view setup examples of all different provider options). Once the location provider is initialized, the following call may be used to register the provider with the PWMapView:


NOTE: If using a virtual beacon provider such as Mist or Beacon Point, the "Uses Bluetooth LE accessories" background mode must be enabled in the "Capabilities" tab of your project's settings.


let routeOptions = PWRouteOptions(accessibilityEnabled: false,
                                  landmarksEnabled: false,
                                  excludedPointIdentifiers: nil)

PWRoute.createRoute(from: <START_POINT>,
                    to: <END_POINT>,
                    options: routeOptions) { (route, error) in
    // Plot the route on the map
    mapView.navigate(with: route)


PWMapKit uses the following third-party dependencies:

Component Description License
SVPulsingAnnotationView A customizable MKUserLocationView replica for your iOS app. MIT
TMCache Fast parallel object cache for iOS and OS X. Apache 2.0


You understand and consent to Phunware’s Privacy Policy located at www.phunware.com/privacy. If your use of Phunware’s software requires a Privacy Policy of your own, you also agree to include the terms of Phunware’s Privacy Policy in your Privacy Policy to your end users.


Use of this software requires review and acceptance of our terms and conditions for developer use located at http://www.phunware.com/terms


Stars: 2
Last commit: 4 weeks ago
jonrohan Something's broken? Yell at me @ptrpavlik. Praise and feedback (and money) is also welcome.

Release Notes

4 weeks ago


  • Improved routing performance
  • Updated to PWCore 3.12.2

Swiftpack is being maintained by Petr Pavlik | @ptrpavlik | @swiftpackco | API | Analytics