Skip to content
No description, website, or topics provided.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
Carthage/Checkouts
MaultaschenApp.xcodeproj
MaultaschenApp
MaultaschenAppTests
MaultaschenData
MaultaschenDataTests
MaultaschenDomain
MaultaschenDomainTests
Tools
.gitignore
.rswiftignore
Cartfile
Cartfile.resolved
README.md
generate-mocks.sh

README.md

MaultaschenApp

This Xcode project was used as a demonstrator for the Meetup of the Mobile Maultaschen on April 09, 2019.

The slides can be found at speakerdeck.com.

Some notes about the demonstrator

  • I know, the UI is ugly as night.
  • Do not use this structure / project as a blue print.
  • I've used Carthage as a dependency manager. Just run carthage build --platform ios to build the dependencies.
  • Regarding R.swift:
    • Initially, I wanted to have the usage of R.swift switchable to underline its advantages.
    • This is why the compiler condition USE_R exists in some places.
    • But that became too cumbersome for me, so not every usage of R.swift is wrapped into the compiler condition.
    • Removing USE_R from SWIFT_ACTIVE_COMPILATION_CONDITIONS will hence lead to compiler errors.
  • Regarding SwiftyMocky:
    • In the documentation of SwiftyMocky, only one mocky.yml is used and the mocks are placed into the target under test.
    • In my opinion, the mocks needed by a test target should be part of the test target. And the test target should declare, which mocks are needed.
    • Therefore, I'm working with three different SwiftyMocky.yml for the three targets MaultaschenAppTests, MaultaschenDataTests and MaultaschenDomainTests.
    • I had issues with that setup: Sometimes the wrong Mock.generated.swift were generated for some targets, regardless of whether the mocks were generated by a build phase script or by running sourcery in watch mode. Hence I've used generate-mocks.sh, which worked for me.
    • I do not recommend to integrate the mock generation in the build phases: This will slow down your build time as soon as your project reaches a reasonable size.

Pictures used in the demonstrator

You can’t perform that action at this time.