Swiftpack.co - Package - highmobility/hm-auto-api-swift

What is in this repository

AutoAPI parsing source code in Swift, that can be made into a framework by swift build (macOS and Linux only), or through Xcode. Using the latter allows additionally to build for iOS, tvOS or watchOS.

In addition, if using this as a dependency with Swift Package Manager, the suitable architecture is handled by Xcode.

Lastly, there's a command-line parser for quickly debugging AutoAPI data.

Framework Usage

For iOS, it's recommended to build the universal framework - thus enabling running on a simulator as well.
There's an AppStoreCompatible.sh script for thinning the framework before submission to iTC.

For macOS and Linux, executing swift build and using the product is recommended (use the --show-bin-path option to get the output path).

For other Apple platforms, the universal framework can be made with lipo from Xcode's simulator and device products. When creating a universal one, the module maps need to be copied as well.

For details on the API itself, please see the documentation.

Parser Usage

Simply execute ./AutoAPICLT [input] on the command-line.

Input can be in hex, base64 or "scrambled" (see the flags).
The parser outputs only what it was able to understand.

Flags:
-b64: input is in Base64 instead
-dc: input is like in Developer Center examples
-ep: expand properties

screenshot

Github

link
Stars: 0
Help us keep the lights on

Dependencies

Used By

Total: 0

Releases

9.0.0 - Jan 3, 2019

Removed:

  • All legacy types.

New:

  • AAPropertyFailure type to convey that getting a property failed.

Added:

  • AAFueling

    • .gasFlapLockState: AALockState?
    • .gasFlapPosition: AAPositionState?
  • AALights

    • .fogLights: [AAFogLight]?
    • .readingLamps: [AAReadingLamp]?
    • .interiorLamps: [AAInteriorLamp]?
    • .controlLights(... fogLights: [AAFogLight]?, readingLamps: [AAReadingLamp]?, interiorLamps: [AAInteriorLamp]?)
  • AAMultiCommand

    • .states: [AAVehicleState]? – returned when a multi-command is sent.

Updated:

  • AADoorLocks

    • .insideLocks: [AADoorLock]?
    • .locks: [AADoorLock]?
    • .positions: [AADoorPosition]?
  • AAFailureMessage

    • .reason: AAFailureReason?
  • AAFueling

    • .controlGasFlap(lockState: AALockState?, position: AAPositionState?) – renamed.
  • AALights

    • .frontExterior: AAFrontLightState?

7.3.2 - Dec 3, 2018

New:

  • MultiCommand for sending multiple commands at the same time

Added:

  • Diagnostics
    • .mileageMeters: UInt32?

8.0.1 - Dec 3, 2018

New:

  • AAMultiCommand for sending multiple commands at the same time

Added:

  • AADiagnostics
    • .mileageMeters: UInt32?
  • AARooftopControl
    • .sunroofState: AAPositionState?
    • .controlRooftop(... sunroofState: AAPositionState?)

8.0.0 - Nov 8, 2018

New AutoAPI Level 8 framework.
Not compatible with Level 7, but L7 usage has been temporarily made available through .legacy and Legacy access points on different capabilities.
Most of AutoAPI has been rewritten, with a lot of additional capabilities, properties and commands added.
All types now have an AA prefix, to reduce namespace pollution.

7.3.1 - Sep 27, 2018

Proper Xcode 10 and Swift 4.2 release.