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.
Type Name Latest commit message Commit time
Failed to load latest commit information.


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

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, 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.