This README provides basic information for some of the most commong tasks you'll have to perform during the development of the app.
- iOS 9.0+
- Xcode 7.0+
You'll need a few things before getting started. Make sure you have the latests Xcode installed from the AppStore or Developer Site. Then you can clone the project with the following command:
git clone https://github.com/pokeweak/pokemon-weakness-ios.git
After cloning the project you'll need to install Bundler to manage all the Ruby dependencies on the project for building the project
sudo gem install bundler
After this just execute the following command to install all needed gems
sudo bundle install
Now that you've downloaded the project you'll need to run the app, we can run the app using Xcode 7. Make sure to open the Pokemon Weakness.xcworkspace
workspace, and not the Pokemon Weakness.xcodeproj
project.
Currently, the project is compatible with Xcode 7
only, as it's Swift 2
.
CocoaPods is a dependency manager for Objective-C & Swift, which automates and simplifies the process of using 3rd-party libraries in your projects. To learn more about this amazing tool you can check the their docs.
The app is build on top of my understanding
of MVP pattern and trying to model the app so it can follow SOLID principles
All this layers are connected using Promisekit for the asynchronous part and we are married to PromiseKit
¯(ツ)/¯
Dependency injection has been achieved by using Service Locator pattern with an Assembly
that's the one in charge of keeping all the references, I took this approach by using swift extensions of this Assembly
so it's easier to link dependencies.
Source is realeased under Beerware license:
As long as you retain this notice you can do whatever you want with this stuff. If we meet some day, and you think this stuff is worth it, you can buy me a beer in return.