* Fixes referenced issue view controller being pushed without nav bar
* Fixes referenced issue view controller being pushed without nav bar from Issues Review
* Move SwipeCellKit & SlackTextViewController to Local Pods directory
* Move playgrounds to own folder
* Create podspec for MMMarkdown and move to Local Pods
* Update UISwitch on tint color
Align green with shared color
* Update tintColor of all UIAlertControllers
* Create factory for SFSafariViewController
* Update SFSafariViewController tint color
Only in the .configured factory
* Use SFSafariViewController factory everywhere
* Create factory for UIAlertController
* Use UIAlertController factory everywhere
**Summary**
It appears to me that the largest contributor to compile times is `API.swift` and its re-generation in the "Generate Apollo GraphQL API" build phase.
The build script currently overwrites "API.swift" on every build, resulting in a new last-modified timestamp. As such, the swift compiler won't use it's
cached build of the file. (You'll have to excuse me, I don't know much about the compiler, so I may be butchering terminology.)
In my estimation, this causes XCode to not only recompile API.swift, but also _all files that reference its contents_.
**Fix**
Modify the "Generate Apollo GraphQL API" build phase to only overwrite API.swift if the output of `check-and-run-apollo-codegen.sh` results in a different output than the previous build.
The diff is hard to read, as it's in the pbxproj, so I've included the relevant lines below:
```sh
TEMP_FILE=$(mktemp)
[[ -f API.swift ]] || touch API.swift # ensure sure file exists
$APOLLO_FRAMEWORK_PATH/check-and-run-apollo-codegen.sh generate $(find . -name '*.graphql') --schema schema.json --output $TEMP_FILE
cmp API.swift $TEMP_FILE || cp $TEMP_FILE API.swift
```
In short, it outputs the generated API file to `TEMP_FILE`. Then, it
uses `cmp` to test if `TEMP_FILE` is identifical to the existing `API.swift`. If they are not, it overrwrites `API.swift` with the newly generated code.
**Result**
Previously, re-builds (with no changes) were taking between 60-90 seconds (I have a slow-ish Mac). Now they're taking between 7-10.