MapplsCamera SDK for iOS
A versioned iOS distribution package used to integrate maps, search places, tracking telematics, offline automotive, capture feedback, identity platform into an application.
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.Source and identity
- Public source
- Open repository ↗
- Captured document
- Open source documentation ↗
- Default branch
main- Lifecycle risk
- Compatibility Review
- Authentication signals
- api-key · signed-request
Products and prerequisites
- An iOS project with Xcode and the package manager required by the source release
- 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.
Dependencies
This library depends upon several Mappls's own libraries. All dependent libraries will be automatically installed using Swift Package Manager.
Below are list of dependencies which are required to run this SDK: - MapplsAPICore - Authorization and Authentcation - MapplsAPIKit - Core API functionality - MapplsMap - Map display and location services
Requirements
• iOS: 13.0 or higher - Xcode: 14.0 or higher - Mappls API Keys: You must have a valid Mappls API key to use the location and mapping features
Option 2: Configuration Presets
Pre-built configurations for common use cases:
| Method | Description | Use Case | | basic() | Default settings | Quick start | | photoOnly() | Photo mode only | Image documentation | | videoOnly() | Video mode only | Video surveys | | highAccuracy() | Requires GPS ≤10m | Precision mapping | | fieldSurvey() | All metadata + grid | Field work | | qrScanner() | QR code mode | Asset tracking | | highQuality() | 4K, max quality | Professional use | | minimalUI() | Hidden controls | Embedded use | | privacyFocused() | Minimal metadata | Privacy apps |
Configuration API Reference
MapplsCameraViewController provides a wide range of properties to customize the capture experience.
General Configuration
| Property | Type | Default | Description | | minimumAccuracyMetres | Float | 50.0 | Minimum GPS accuracy required to allow capture | | blockCaptureOnPoorAccuracy | Bool | false | If true, prevents capture when accuracy is worse than threshold | | saveToDeviceGallery | Bool | true | Automatically save captured media to the iOS Photo Library | | enablePinchToZoom | Bool | true | Enable or disable the pinch-to-zoom gesture | | maxZoomFactor | Float | 8.0 | Maximum zoom level allowed |
Source code evidence
Use these fragments to understand integration shape. They may belong to an older toolchain or authentication generation.
https://github.com/mappls-api/mappls-camera-ios-distribution.gitimport MapplsCameralet cameraVC = MapplsCameraViewController()
cameraVC.cameraDelegate = self
cameraVC.modalPresentationStyle = .fullScreen
self.present(cameraVC, animated: true)extension YourViewController: MapplsCameraDelegate {
func mapplsCamera(_ controller: MapplsCameraViewController, didCaptureImage result: MapplsCameraResult) {
print("Captured image at: \(result.filePath)")
print("Location: \(result.latitude), \(result.longitude)")
controller.dismiss(animated: true)
}
func mapplsCamera(_ controller: MapplsCameraViewController, didRecordVideo result: MapplsCameraResult) {
print("Recorded video at: \(result.filePath)")
controller.dismiss(animated: true)
}
func mapplsCameraDidCancel(_ controller: MapplsCameraViewController) {
controller.dismiss(animated: true)
}
func mapplsCamera(_ controller: MapplsCameraViewController, didUpdateLocation latitude: Double, longitude: Double, accuracy: Float) {
// Handle real-time location updates
}
func mapplsCamera(_ controller: MapplsCameraViewController, didFailWithError error: MapplsCameraError) {
print("SDK Error: \(error.localizedDescription)")
}
func mapplsCamera(_ controller: MapplsCameraViewController, didLoadNearbyPINs pins: [MapplsNearbyPIN]) {
// Handle nearby places/PINs
}
}import MapplsCamera
import MapplsCameraSample
// Use the sample view controller
let sampleVC = SampleCameraViewController()
present(sampleVC, animated: true)
// Or use configuration presets
let cameraVC = CameraConfigurations.photoOnly()
cameraVC.cameraDelegate = self
present(cameraVC, animated: true)func mapplsCamera(_ controller: MapplsCameraViewController, didFailWithError error: MapplsCameraError) {
switch error {
case .cameraPermissionDenied:
// Handle no camera access
case .locationPermissionDenied:
// Handle no location access
case .poorAccuracy:
// GPS accuracy was below minimumAccuracyMetres threshold
default:
print("SDK Error: \(error.localizedDescription)")
}
}Connected implementation paths
Exact source paths
No quickstart or starter explicitly names this source. Continue through the platform path without claiming direct lineage.
Adjacent platform paths
Platform guidance—not package compatibilityCreate a lifecycle-safe iOS mapMigration 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.
- 01
Confirm the exact package or artifact identifier and version with the owning Mappls product team; a repository name is not a package contract.
- 02
Verify platform toolchain, operating-system, architecture, host-application, and transitive-dependency compatibility from a clean build.
- 03
Bind only the documented credential class and restriction to its intended client or trusted-server runtime; never commit or log a secret.
- 04
Verify account entitlement, region, quota, endpoint generation, data rights, and applicable commercial terms independently.
- 05
Exercise initialization, ready, denied, empty, offline, timeout, cancellation, background/resume, and teardown paths.
- 06
Pin dependency and native artifact integrity evidence; retain source fingerprint, selected version, lockfile, build provenance, and approving owner.
- 07
For stateful or hybrid behavior, persist application state outside the SDK and prove idempotency, reconciliation, audit, privacy, and recovery.
- 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.