CocoaLumberjack/CocoaLumberjack — pull request #288 by bpoplauschi (2014-05-21 09:21:25+00:00)
Title: 2.0 new structure

Restructured the project, as described in #225
- created `Classes` folder with the files that used to be in `Lumberjack`
- created `Demos` folder with all the Xcode folders that are demos
- created `Demos` workspace containing all the demo projects
- created `Framework` folder with the **desktop** and **mobile** projects, used to build the static libraries
- created `Lumberjack` workspace containing a folder link to `Classes` and the 2 framework projects
- created `Testing` folder containing all the testing projects folders (used to be in Xcode/Testing)
- created `Testing` workspace with all the testing projects

One important change was that all the Xcode projects use CocoaLumberjack as a local pod, instead of directly referencing its files. This way, all the projects will benefit of the changes directly (via `pod update`).

Updated .gitignore to include Pods. (based on https://github.com/github/gitignore/blob/master/Objective-C.gitignore), plus uncommented Pods, aded Podfile.lock and added project.xcworkspace (this way we only ignore those files from every project, but the one from the workspace is kept).

*Note: to avoid errors in the workspaces, every Cocoapods target for every project uses a project prefix+platform naming convention.*
i.e. CoreDataLogger for osx uses target `CDL_osx`.

Future work: I am planning to add a `Tests` folder containing unit test files. This should be added to the `Lumberjack` workspace.
For unit testing technologies, I suggest we use:
- `XCTest`
- [`XCTestAsync`](https://github.com/touchableideas/XCTestAsync) in case we want to test async methods, works great
- [`Expecta`](https://github.com/specta/expecta) will make tests easier to read and write
*AFNetworking uses a similar tech stack, except they don't use XCTestAsync for async tests, but have their own code for that*