The most power-efficient and lightweight iOS location manager for Swift and ObjC

Overview

IngeoSDK: iOS location tracking made easy (Swift & ObjC)

Cocoapods Compatible Platform

IngeoSDK for iOS

Overview

IngeoSDK is a power-efficient location manager for iOS (Swift and Objective-C), which extends and improves CoreLocation.
It uses unique algorithms to dynamically and constantly adjust CoreLocation's tracking configuration parameters according to user's motion, behavior, speed and whereabouts. Thus enabling suited configuration scheme for optimized accuracy and minimum power consumption in real-time.
Your app and/or server will receive the most relevant location data while in foreground or background - even when network is disconnected. Off-course, or bad location samples are filtered out for you. Battery consumption is just ~2% per hour.
Supports iPhone, iPad, iPod Touch running iOS 7.0+

For a full list of features visit: http://ingeo.io/sdk

Demo, please?

  1. Download as zip file or clone this repository.

  2. Unzip and open the project file in Samples/Swift-Sample01 directory using Xcode.

  3. Edit ViewController.swift to enter your API key in the initializer method:

     IGLocationManager.initWithDelegate(self, secretAPIKey: "APIKEYGOESHERE")

    To get a new API key, Signup for free.

  4. Now simply run in iOS Simulator or your device and watch the debug console as the demo app takes you traveling through San Fransisco streets (using a recorded GPX file).

Installing with CocoaPods

  1. Add the following line to your Podfile:

    pod 'IngeoSDK'
    
  2. Run:

    pod install
    

Enable Location Services

  1. In Xcode, Go to your target settings -> 'Capabilities' -> 'Background Modes'
    Turn on 'Location updates'.

  2. Edit your app's Info.plist and add the following String key (with empty value):

     NSLocationAlwaysUsageDescription
    

Usage

  1. Import

    import IngeoSDK
  2. Set Delegate

    class ViewController: UIViewController, IGLocationManagerDelegate {
  3. Initialize

    IGLocationManager.initWithDelegate(self, secretAPIKey: "APIKEYGOESHERE")
  4. Start Location Monitoring

    IGLocationManager.startUpdatingLocationAlwaysOn()

    Or

    IGLocationManager.startUpdatingLocationWhenInUse()
  5. Get the honey
    Implement IGLocationManagerDelegate methods in your delegate.

    Swift:

    func igLocationManager(manager: IGLocationManager!, didUpdateLocation igLocation: IGLocation!) {
        print("didUpdateLocation: \(igLocation.description)")
    }
    
    func igLocationManager(manager: IGLocationManager!, didDetectMotionState motionState: IGMotionState) {
        print("didDetectMotionState: \(IGLocation.stringForMotionState(motionState))")
    }

    Objective-C:

    - (void)igLocationManager:(IGLocationManager *)manager didUpdateLocation:(IGLocation *)igLocation {
        NSLog(@"didUpdateLocation: %@", [igLocation description]);
    }
    
    - (void)igLocationManager:(IGLocationManager *)manager didDetectMotionState:(IGMotionState)motionState {
        NSLog(@"didDetectMotionState: %@",[IGLocation stringForMotionState:motionState]);
    }
  6. That's it. you've just enabled constant location monitoring.
    Sit and watch your users on the Admin Dashboard http://admin.ingeo.io.

API Documentation

Full API reference: http://ingeo.io/sdk/docs

License

Apache v2.0

Feedback

Feel free to contact us at [email protected] or open an issue here.

You might also like...
Enumerate Location Services using CoreLocation API on macOS
Enumerate Location Services using CoreLocation API on macOS

SwiftLiverpool Description This tool leverages the CoreLocation API on macOS to enumerate Location Services data. You need to enable "Location Service

Simulate GPS location system-wide

locsim A tool to simulate GPS location system-wide. This tool simulates GPS location natively without any runtime injection, and it's how Apple do it.

Shows the ISS live location.
Shows the ISS live location.

ISSLive Shows the ISS live location. Challenge tasks: Project structure Create repo. Setup project. Organize files following the MVVM pattern. Install

Traccar Manager for iOS

Traccar Manager for iOS Overview Traccar Manager is a mobile application to manage GPS tracking devices. It requires a Traccar server instance to work

Open-source iOS application written to explore Swift in its early days
Open-source iOS application written to explore Swift in its early days

Cepp iOS application written in Swift. Icon by: Rodrigo Nascimento (tks :D) IMPORTANT: *This project uses CocoaPods as the dependency manager, make su

Contains the swift rewrite of Find My Bus NJ iOS App
Contains the swift rewrite of Find My Bus NJ iOS App

FIND MY BUS NJ 2 An app for tracking NJ Transit bus times. Dependancies Alamofire SwiftyJSON PKHUD Fabric Getting started Install fastlane and imagema

iOS and  Watch app to find city bicycles to rent in your city
iOS and  Watch app to find city bicycles to rent in your city

Bike-Compass Bike Compass is a full-featured city bicycle finder app for iOS. Using a bike is enjoyable, that is why our app is fast, beautiful, and d

🗺️ MAPS.ME — Offline OpenStreetMap maps for iOS and Android
🗺️ MAPS.ME — Offline OpenStreetMap maps for iOS and Android

MAPS.ME MAPS.ME is an open source cross-platform offline maps application, built on top of crowd-sourced OpenStreetMap data. It was publicly released

Israel's tech jobs, startups, incubators and investors iOS App

Startups | Mapped In Israel Startups is a beautiful way to discover new startups, locate co-working spaces and get funded. Startups lets you: Visualiz

Comments
  • How to track location in background and set other parameters?

    How to track location in background and set other parameters?

    Hello, Thanks for a great library. Just some questions, even though you support background tracking of location, I tried it and I'm not clear how to do it properly(I have added all the necessary messages in the Info.plist).

    Also, would it be possible to set a condition, like to track the location every 100 meters, or something where I fetch the location every 10 seconds. Thanks in advance.

    opened by shravansukumar 3
  • does it work in ios 10+

    does it work in ios 10+

    Hi Thanks you for great library. Does this library work in ios 10 or newer? I want to start tracking location even in background mode or suppened, then a method to stop it in every where of project ( with one line of code)

    opened by fukemy 0
  • Correct the spelling of CocoaPods in README

    Correct the spelling of CocoaPods in README

    This pull requests corrects the spelling of CocoaPods 🤓 https://github.com/CocoaPods/shared_resources/tree/master/media

    Created with cocoapods-readme.

    opened by ReadmeCritic 0
Releases(v1.4.1)
Owner
IngeoSDK
IngeoSDK - Location data made smarter
IngeoSDK
A Location Manager for easily implementing location services & geofencing in iOS. Ready for iOS 11.

A Location Manager for easily implementing location services & geofencing in iOS, written in Objective-C. Ready for iOS 11. Features Get current/conti

Benzamin Basher 108 Jul 9, 2022
iOS app which uses the Moves API to visualize which places you spent the most time at in the last seven days.

Places Places uses the Moves API to visualize which places you spent the most time at in the last seven days. It runs on iOS 7 only and you need to ob

Boris Bügling 43 Feb 9, 2022
Easily get the device's current location on iOS.

INTULocationManager makes it easy to get the device's current location and is currently heading on iOS. It is an Objective-C library that also works g

Intuit 2.6k Dec 21, 2022
CLI for setting location in the iOS simulator

set-simulator-location This is a simple CLI for easily setting the location of the currently running iOS Simulator. Usage Set a specific latitude and

Mobile Native Foundation 619 Jan 6, 2023
Application that displays current weather at a random location. iOS 14.0 or newer. SwiftUI.

Elseweather App that displays current weather at a random location. Description Elseweather was created as a student/research project with no practica

Ярослав 11 Dec 15, 2022
An iOS app to display quarantine classification information based on users location

ph covid19 Quarantine Classification Automatically check quarantine classification based on your location Tech: MVVM Observer Binding MapKit, CoreLoca

Carlos Rivas 0 Nov 15, 2021
Location Weather Demo With Swift

LocationWeatherDemo Здравствуйте! Для того что бы проект корректно работал установите pod's. О проекте: 1) На первой странице можно увидеть погоду в л

German Khodyrev 0 Dec 8, 2021
A ready for use and fully customizable location picker for your app

LocationPicker A ready for use and fully customizable location picker for your app. Features Installation Cocoapods Carthage Swift Package Manager Qui

Zhuoran 397 Nov 16, 2022
A simple map with the location of the user and the control of permissions

Proposal The project is based on implementing a simple map with the location of

Raúl Pedraza León 0 Dec 26, 2021
An original project making use of custom UITableViewCells, date formatting, json parsing, and handling user location.

SunTimes An original project making use of custom UITableViewCells, date formatting, json parsing, date and time formatting based on the json data, an

David Chester 0 Feb 8, 2022