cuappdev / uplift-ios-swiftui

An open-source iOS app for Cornell Fitness Centers, written in SwiftUI.
3 stars 0 forks source link

Uplift - Cornell Fitness

Uplift is one of the latest apps by Cornell AppDev, an engineering project team at Cornell University focused on mobile app development. Uplift aims to be the go-to fitness and wellness tool that provides information and class times for gym resources at Cornell. Download the current release on the App Store!


System Requirements

You must have at least Xcode 15.0, iOS 16.0, and Swift 5.5 to run this app.

Dependencies

This app uses Swift Package Manager for dependencies.

Getting Started

  1. Clone the repository.
  2. Go to UpliftSecrets/ and drag the following four files into FINDER (NOT Xcode). You must create this folder through Finder. For AppDev members, you can find these pinned in the #uplift-ios Slack channel.
    • GoogleService-Info.plist
    • Keys.xcconfig
    • apollo-codegen-config-dev.json
    • apollo-codegen-config-prod.json
  3. Install Swiftlint with brew install swiftlint. As of SP24, there is a bug with SPM involving incompatible OS versions with package dependencies. Because the codebase uses SPM, we don't want to introduce CocoaPods, so Swiftlint will be installed via Homebrew.
  4. Open the Project, select Uplift under Targets, then choose the Build Phases tab.
if [[ "$(uname -m)" == arm64 ]]; then
    export PATH="/opt/homebrew/bin:$PATH"
fi

if which swiftlint >/dev/null; then
    swiftlint --fix && swiftlint
else
    echo "ERROR: SwiftLint not installed"
    exit 1
fi
  1. Select the Uplift schema to use our development server and Uplift-Prod to use our production server.
  2. Generate the Apollo API:
  1. Build the project and you should be good to go.

Common Issues

Codebase Outline