/Area51

Open source Reddit client for iOS built entirely in Swift

Primary LanguageSwiftGNU General Public License v3.0GPL-3.0

Area51 App Icon

Area51

Build Status

Area51 is an open source Reddit client for iOS built entirely in Swift!

Get the public beta on TestFlight

Join the public Slack channel to collaborate!

Goals

  • Provide a beginner friendly development environment
  • Use the latest iOS development tools
  • Document everything! Helps beginners learn :)
  • Build an awesome open source Reddit client for iOS!

Getting Started

Requirements

Make sure you have Xcode: 10.2 or higher.

This project currently supports Swift 5.0+

Setup

Clone the repo and run the generate command:

git clone git@github.com:kgellci/Area51.git
cd Area51/
make generate

After generate is finished doing its job, open Area51.xcodeproj, build and run.

Project Structure

Area51 does not import any 3rd party libraries in app.

Xcodegen is used for project definition and generation.

Swiftlint is used to keep the code properly structured and readable.

Learn more about the project structure.

Running on a device

Make sure you run make generate command from above to generate the appropriate config files.

Edit the user.xcconfig file in the Configs/ directory (don't worry, it is gitignored!). Set DEVELOPMENT_TEAM in the user.xcconfig file. Example: DEVELOPMENT_TEAM = XXXXXXXXX

Edit the bundleIdentifier.xcconfig file in Configs/ directory (also gitignored!). Set PRODUCT_BUNDLE_IDENTIFIER in bundleIdentifier.xcconfig to something unique, Example: PRODUCT_BUNDLE_IDENTIFIER = whatever.i.want

You will need to close the Xcode project, run make generate and open the project again. You can find your team ID by logging into developer.apple.com.

FAQ

If you have more questions, check out the FAQ. If your question is not answered, open a new issue with the "Question" tag.

License

Area51 is licensed under the GNU General Public License v3.0. See LICENSE for more info.