Skip to content

ride-austin/ios-driver

Repository files navigation

RideAustin Driver

Driver iOS App for RiderAustin

CocoaPods Compatible
Platform PRs Welcome License: MIT

Ride sharing is valuable to all citizens, empowers drivers and riders, saves lives and is part of any transportation future. We created RideAustin to get the city moving again and to reinvest in our community.

RideAustin is a non-profit ride share built for the Austin community. It is powered by donations, with paid and volunteer hours from both the Austin tech community and the broader Austin community working together. We believe ride sharing saves lives, empowers drivers & riders and is part of any transportation future.

Requirements

  • iOS 12.0+
  • Xcode 10.2.1
  • Configure SSH for the github

Installation

  • Install Bundler to manage ruby gems Bundler guide after installation successful run:
bundle install
  • Install pods
bundle exec pod install

Troubleshooting

  • After running pod install if it fails with the following error
Unable to add a source with url `git@github.com:ride-austin/ios-podspecs.git` named `ride-austin`

check SSH configuration check guide SSH Help

Environmental Variables

This project is configured with Fastlane to work with CLI tools here are the environmental variables available in the fastlane that can be provided in /fastlane/.env.default file

Required

  • FASTLANE_USERNAME: This name is shown in the messages for example RideAustin Version 5.1.0b (708) uploaded by:xyz@rideaustin.com in this message xyz@rideaustin.com is through this variable. Also used in built in fastlane actions for example match , pilot

  • FASTLANE_PASSWORD: Password used in fastlane for built in fastlane actions used.

  • FASTLANE_TEAM_ID: The ID of your Developer Portal team if you're in multiple teams e.g. XXXXXXYVXX

  • GOOGLE_MAP_KEY: To use the Maps SDK for iOS you must have an API key. The API key is a unique identifier that is used to authenticate requests associated with your project for usage and billing purposes. To learn more see the guide and API Key Best Practices

  • GOOGLE_MAP_DIRECTIONS_KEY: To use the Directions API, you must get an API key which you can then add to your mobile app, website, or web server. The API key is used to track API requests associated with your project for usage and billing. To learn more about API keys, see the API Key Best Practices

  • MATCH_GIT_FULL_NAME: git user full name to commit

  • MATCH_GIT_URL: URL to the git repo containing all the certificates

  • MATCH_GIT_USER_EMAIL: git user email to commit

  • MATCH_PASSWORD: Provide the password for the match in this variable. Here is the guideline for configuring the match guide

  • MATCH_USERNAME: Your Apple ID Username

  • MD5_PASSWORD_SALT: Provide MD5 salt for encryption of password which matches the one used in RideAustin/Server get more information here

  • PEM_TEAM_ID: Team ID for the your provisioning profile

  • PEM_USERNAME: Your Apple ID Username for provisioning profile

  • PILOT_TEAM_ID: Team ID for uploading to Appstore Connect

  • PILOT_USERNAME: Your Apple ID Username for uploading to Appstore Connect

  • PRODUCTION_SERVER_URL: Provide production server url for the apis.

Optional

  • APPCENTER_OWNER_NAME: Add owner name of the app to be uploaded on Appcenter to get App owner name find at https://appcenter.ms/orgs/<APPCENTER_OWNER_NAME>

  • APPCENTER_API_TOKEN: Add Api token for Appcenter. Goto. https://appcenter.ms/orgs/<organization-name>/applications?os=iOS then in account settings, you can create token. Settings / API tokens

  • BUG_FENDER_KEY: Add bugfender key for configuring bugfender check guide

  • CRASHLYTICS_API_TOKEN: Get the api token from organization settings page

  • CRASHLYTICS_BUILD_SECRET: Get the build secret from organization settings page

  • DEV_SERVER_URL: If you have a Dev environment you can provide Dev server url for the apis.

  • ENTERPRISE_APP_IDENTIFIER_PROD: App ID for Enterprise app distribution to distribute the production build

  • ENTERPRISE_APP_IDENTIFIER_QA: App ID for Enterprise app distribution to distribute the QA build

  • ENTERPRISE_APPCENTER_APP_NAME_PROD: Add your app name to be uploaded on Appcenter to get App name find at https://appcenter.ms/orgs/<APPCENTER_OWNER_NAME>/apps/<APPCENTER_APP_NAME>

  • ENTERPRISE_APPCENTER_APP_NAME_QA: Add your app name to be uploaded on Appcenter to get App name find at https://appcenter.ms/orgs/<APPCENTER_OWNER_NAME>/apps/<APPCENTER_APP_NAME>

  • ENTERPRISE_FASTLANE_TEAM_ID: Team ID for Enterprise app distribution

  • ENTERPRISE_MATCH_APP_IDENTIFIER_PROD: App ID for Match for production enterprise distribution.

  • ENTERPRISE_MATCH_APP_IDENTIFIER_QA: App ID for Match for QA enterprise distribution

  • ENTERPRISE_MATCH_APP_IDENTIFIERS: Give the list of APP IDs for the match e.g "com.xyz.ride.beta ,com.driver,com.driver.test"

  • ENTERPRISE_MATCH_GIT_URL: URL to the git repo containing all the enterprise certificates

  • ENTERPRISE_MATCH_USERNAME: git user email to commit

  • ENTERPRISE_PEM_TEAM_ID: Team ID for the your enterprise provisioning profile

  • ENTERPRISE_PEM_USERNAME: Your Apple ID Username for enterprise provisioning profile

  • GOOGLE_SERVICE_INFO_PLIST_PRODUCTION: When using circleci, run base64 GoogleService-Info-Production.plist and use the output as environment variable. Otherwise, just add the file FuelMeDriver/support/Plist/GoogleService-Info-Production.plist to enable firebase services in production for app store distribution

  • GOOGLE_SERVICE_INFO_PLIST_PRODUCTION_ENTERPRISE: When using circleci, run base64 GoogleService-Info-ProductionEnterprise.plist and use the output as environment variable. Otherwise, just add the file FuelMeDriver/support/Plist/GoogleService-Info-ProductionEnterprise.plist to enable firebase services in production for enterprise distribution

  • GOOGLE_SERVICE_INFO_PLIST_QA: When using circleci, run base64 GoogleService-Info-QA.plist and use the output as environment variable. Otherwise, just add the file FuelMeDriver/support/Plist/GoogleService-Info-QA.plist to enable firebase services in QA environment for enterprise distribution

  • QA_SERVER_URL: If you have a QA environment you can provide QA server url for the apis.

  • SLACK_URL: Provide webhook url for the slack to post the updates on the slack. Follow these steps to add webhook in your slack channel guide

  • STAGE_SERVER_URL: If you have a Stage environment you can provide Stage server url for the apis.

Contribute

We would love you for the contribution to RideAustin Driver, check the LICENSE file for more info.

Meta

Distributed under the MIT License. See LICENSE for more information.