Giter Club home page Giter Club logo

hellov2xworld-ios's Introduction

HelloV2XWorld-iOS

In this repository you can find an example of V2X application that show how to use the V2X-SDK in a ready to use iOS Application.

Description

The HelloV2XWorld application demonstrates how easy it is to create a V2X application and exchange V2X messages with other road users. This application is powered by the V2X-SDK and the STEP platform developed by Vodafone. By cloning this project you will be able to create and execute your first V2X application in less than 15 minutes. The HelloV2XWorld application shows a map with all the road users close to your location. You can also use this application as a model to start developing your own application.

Getting Started

Prerequisites

  • Xcode version 14.1 or higher is already installed on your MacBook.
  • You have some experience with developing apps using swift and swiftUI.
  • You have a tool pre-installed for unarchiving RAR or Zip files like "The Unarchiver".
  • Your Internet connectivity is up and running.
  • You are available for 15 minutes.

Download the V2X-SDK library for iOS

step1 (1)

step2

* Enter your PinCode:

Screenshot 2023-02-16 at 11 46 58 AM

  • Navigate to the page "Documentation" and select the "SDK documentation for iOS" option.

sdkiOS

  • In the "SDK documentation for iOS" page.
    • click on the "Download SDK" button for the SDK xcframework.
    • click on the "Download documentation" button for the SDK documentation and user guide.

downloadSDKiOS (1)

=> Your browser downloads the archive "VodafoneV2X_iOS_SDK.rar".

  • Open the archive, extract the V2X-SDK library file called "VodafoneV2X.xcframework" and save it on your laptop.

Clone the HelloV2XWorld Application

Screenshot 2023-02-15 at 4 45 10 PM

  • Press "Clone" button to start downloading the HelloV2XWorld project.
  • Wait until the completion of this operation.
  • Choose "main" branch from the popup then press "Clone" then desired save location on you MacBook.

Import the V2X-SDK library in your project

  • After opening the HelloV2XWorld project.
  • Go to xcodproj settings page "General".
  • Scroll down to "Frameworks" and click on the "+" sign.

Screenshot 2023-02-15 at 5 09 18 PM

* Choose "Add Others" then "Add Files" and select to add the pre-downloaded "VodafoneV2X.xcframework".

Screenshot 2023-02-15 at 5 13 50 PM

Set the credentials in the application:

  1. Open the Portal.
  2. Login with your account.
  3. Navigate to the "Applications" tab found in the top.
  4. Click on "Test application".
  5. You will see a new popup appear.
  6. Follow the instructions until you reach the "Application" step.
  7. You will find the "Application ID" and "SDK Key".
  8. Copy the "Application ID" value.
    Screenshot 2024-04-18 at 3 36 22 PM
  9. Open the "HelloV2XWorld" project in xcode.
  10. Open "Enums" class and paste the copied "Application ID" in the username attribute inside "credentials" enum.
  11. Back to the portal.
  12. Copy the "SDK Key" value.
    Screenshot 2024-04-18 at 3 38 08 PM
  13. Back to the xcode project and paste it in the password attribute inside "credentials" enum.
    Screenshot 2024-04-18 at 4 07 40 PM

Build the HelloV2XWorld application

  • Click from Xcode tab bar "Product" then "Build" (or use the shortcut "Command⌘ B").

Run the HelloV2XWorld application

  • You can run the app on any iOS Simulator or real device after providing your own Development provision profile.
  • Select your iOS Simulator (for ex. iPhone 14.)
  • Press the RUN button.
  • Wait until the "Simulator" windows appears.

Screenshot 2023-02-15 at 5 21 14 PM

  • When the App opens, read the Term and Conditions, Click on the next button to navigate till the end then click on the "Accept" button.

Screenshot 2023-02-15 at 5 22 38 PM

  • Accept the location permissions to provide your own location data.

Screenshot 2023-02-15 at 5 24 14 PM

  • A map is displayed centered on your current location.

Screenshot 2023-02-15 at 5 25 28 PM

  • The blue icon represents yourself.
  • The red icons represents the other road users close to you.

Screenshot 2023-02-15 at 5 26 58 PM

  • When clicking on the blue icon, app displays you ITS information: StationID, StationType, Speed, Heading.

Screenshot 2023-02-15 at 5 28 08 PM

  • When clicking on any red icon, app displays you the CAM information: StationID, StationType, Speed, Heading.

Screenshot 2023-02-15 at 5 29 30 PM

  • You can change your station type by accessing the setting page
219073630-0802fe3e-20ba-4403-9ab7-99fdd0da5b6c

Version History

  • 1.0
    • Initial Release.
  • 1.0.1
    • Bug Fixing
      • Fix connectivity after changing station type from settings.
      • Fix ITS marker orientation according to the device orientation.
  • 1.0.2
    • Bug Fixing
      • Fix ITS marker orientation according to the device orientation.
  • 1.0.3
    • Bug Fixing
      • Fix map rotation according to the course value instead of heading.
      • Prevent the device screen from sleeping while the app is running.

License

This project is licensed under the MIT License - see the LICENSE.md file for details

hellov2xworld-ios's People

Contributors

ayahamou avatar jl-descombes avatar ahmedhamdyfahmy avatar

Stargazers

 avatar Raul Vazquez Vera avatar  avatar

Watchers

Brian Burton avatar  avatar

Forkers

skattela

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.