Skip to content

This library will connect any iOS app developed with Swift, to the FlightAware AeroAPI

Notifications You must be signed in to change notification settings

anomaddev/AeroAPI-Swift

Repository files navigation

AeroAPI

A Swift library to integrate the FlightAware AeroAPI into you app. This library is currently a work in progress.

In Progress

Since this library is still a work in progress. You can use the chart below to track which AeroAPI functions are supported in the library at current.

Getting Started

Installing Library

Swift Package Manager is Apple's dependency manager tool. It can be used alongside other tools like CocoaPods and Carthage as well.

To install the AeroAPI package into your packages, add a reference to AeroAPI and a targeting branch (versioning will coming in future releases) in the dependencies section in Package.swift file:

import PackageDescription

let package = Package(
    name: "YOUR_PROJECT_NAME",
    products: [],
    dependencies: [
        .package(url: "https://github.com/anomaddev/AeroAPI-Swift.git", branch: "main")
    ]
)

To install the AeroAPI package via Xcode

Setting the API key

You will need to set your API key before you can use the library in your application. You can do this in your AppDelegate or in the initialization of your SwiftUI app.

AeroAPI.manager.set(apiKey: "api-key-goes-here")

Using the Library

Examples coming soon...

Supported Endpoints - FlightAware Docs

Alerts

[ ❌ ] - GET /alerts
[ ❌ ] - PUT /alerts
[ ❌ ] - GET /alerts/{id}
[ ❌ ] - PUT /alerts/{id}
[ ❌ ] - DELETE /alerts/{id}
[ ❌ ] - GET /alerts/endpoint
[ ❌ ] - PUT /alerts/endpoint
[ ❌ ] - DELETE /alerts/endpoint

Flights

[ ✅ ] - GET /flights/{id}/map - Bounding Box parameter is not currently active
[ ✅ ] - GET /flights/{id}/position
[ ✅ ] - GET /flights/{id}/route
[ ✅ ] - GET /flights/{id}/track
[ ✅ ] - GET /flights/{ident}
[ ✅ ] - GET /flights/{ident}/canonical
[ ❌ ] - POST /flights/{ident}/intents
[ ❌ ] - GET /flights/search/
[ ❌ ] - GET /flights/search/advanced
[ ❌ ] - GET /flights/search/count
[ ❌ ] - GET /flights/search/positions

Foresight

[ ❌ ] - GET /foresight/flights/{id}/position
[ ❌ ] - GET /foresight/flights/{ident}/
[ ❌ ] - GET /foresight/flights/search/advanced

Airports

[ ✅ ] - GET /airports
[ ✅ ] - GET /airports/{id}
[ ✅ ] - GET /airports/{id}/canonical
[ ✅ ] - GET /airports/{id}/delays
[ ✅ ] - GET /airports/{id}/flights
[ ✅ ] - GET /airports/{id}/flights/arrivals
[ ✅ ] - GET /airports/{id}/flights/counts
[ ✅ ] - GET /airports/{id}/flights/departures
[ ✅ ] - GET /airports/{id}/flights/scheduled_arrivals
[ ✅ ] - GET /airports/{id}/flights/scheduled_departures
[ ✅ ] - GET /airports/{id}/flights/to/{dest_id}
[ ✅ ] - GET /airports/{id}/nearby
[ ✅ ] - GET /airports/{id}/routes/{dest_id}
[ ✅ ] - GET /airports/{id}/weather/forecast
[ ✅ ] - GET /airports/{id}/observation
[ ✅ ] - GET /airports/delays
[ ✅ ] - GET /airports/nearby

Operators

[ ✅ ] - GET /operators
[ ✅ ] - GET /operators/{id}
[ ✅ ] - GET /operators/{id}/canonical
[ ✅ ] - GET /operators/{id}/flights
[ ✅ ] - GET /operators/{id}/flights/arrivals
[ ✅ ] - GET /operators/{id}/flights/counts
[ ✅ ] - GET /operators/{id}/flights/enroute
[ ✅ ] - GET /operators/{id}/flights/scheduled

History

[ ✅ ] - GET /history/aircraft/{registration}/last_flight
[ ✅ ] - GET /history/flights/{id}/map - Bounding Box parameter is not currently active
[ ✅ ] - GET /history/flights/{id}/route
[ ✅ ] - GET /history/flights/{id}/track
[ ✅ ] - GET /history/flights/{ident}

Miscellaneous

[ ✅ ] - GET /aircraft/{ident}/blocked
[ ✅ ] - GET /aircraft/{ident}/owner
[ ✅ ] - GET /aircraft/types/{type}
[ ✅ ] - GET /disruption_counts/{entity_type}
[ ✅ ] - GET /disruption_counts/{entity_type}/{id}
[ ❌ ] - GET /schedules/{date_start}/{date_end}

About

This library will connect any iOS app developed with Swift, to the FlightAware AeroAPI

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages