<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/interview-with-s-ren-gregersen---anyone-in-the-team-can-create-and-maintain-xcode-projects-easily-bl0yhm70n" -->

---
title: Interview with Søren Gregersen - Anyone in the team can...
description: An interview with Søren Gregersen, co-founder of Emplate, a Danish software studio building white-label shopping mall apps for over 20 clients across Europe....
canonical: https://daily.dev/posts/interview-with-s-ren-gregersen---anyone-in-the-team-can-create-and-maintain-xcode-projects-easily-bl0yhm70n
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: Interview with Søren Gregersen - Anyone in the team can create and maintain Xcode projects easily | daily.dev
og:description: An interview with Søren Gregersen, co-founder of Emplate, a Danish software studio building white-label shopping mall apps for over 20 clients across Europe....
og:url: https://daily.dev/posts/interview-with-s-ren-gregersen---anyone-in-the-team-can-create-and-maintain-xcode-projects-easily-bl0yhm70n
og:image: https://api.daily.dev/og/posts/bl0yhm70N.png
og:image:alt: Interview with Søren Gregersen - Anyone in the team can create and maintain Xcode projects easily
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Interview with Søren Gregersen - Anyone in the team can create and maintain Xcode projects easily

**[
      Tuist
    ](https://daily.dev/sources/tuist-blog)** · 8 min read · 0 upvotes · 0 comments

## Summary

An interview with Søren Gregersen, co-founder of Emplate, a Danish software studio building white-label shopping mall apps for over 20 clients across Europe. He discusses their small remote product team, multi-project Xcode architecture using Tuist for project generation, VIPER architecture, Carthage for dependency management, heavy reliance on RxSwift and Texture, a TDD-driven testing strategy with over 500 unit tests using SwiftyMocky for mocking, and how adopting Tuist cut new app setup time from 45 to 15 minutes while easing maintenance across many app targets.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://tuist.dev/blog/2020/06/28/soren>

## Questions this post answers

### How can I reduce the time it takes to set up a new white-label app target in Xcode?

Using Tuist's scaffold command to generate new app targets reduced setup time from about 45 minutes of manual clicking and drag-and-drop in Xcode down to around 15 minutes, and the process became simple enough for any team member to perform rather than requiring one person who knew the manual configuration steps.

_See how other teams streamline multi-target Xcode setups by exploring Tuist discussions on daily.dev._

### How do teams manage dozens of white-label app targets that share most of the same codebase in Xcode?

One approach uses a single Xcode project with app targets that only contain an AppDelegate and per-customer configuration, while a shared framework holds the main feature code and separate frameworks handle networking, utilities, and analytics. Tuist's project description helpers generalize target configuration so all white-label apps stay consistently set up across 20+ shopping mall variants.

_Developers structuring multi-target apps can follow Xcode architecture patterns like this on daily.dev._

### What testing approach works well for a VIPER-based iOS app?

Covering the presenter layer with unit tests close to 100% coverage, using mocked view, router, and interactor objects, works well in VIPER modules, with additional tests added when interactors carry more complex logic. SwiftyMocky is used to auto-generate protocol mocks, and over 500 unit tests plus simple UI smoke tests (also used for App Store screenshots via Fastlane) support the strategy.

_Track testing strategies for architectures like VIPER as you build iOS test suites on daily.dev._

## Similar posts on daily.dev

- [Toss: Building less to ship faster](https://daily.dev/posts/toss-building-less-to-ship-faster-1arhtus0n) · 
      Tuist
     · 4 upvotes · 0 comments
- [How a non-technical project manager built and shipped a stress management app with Claude Code in six weeks](https://daily.dev/posts/how-a-non-technical-project-manager-built-and-shipped-a-stress-management-app-with-claude-code-in-si-kkbfkk87p) · Claude · 17 upvotes · 2 comments
- [Tips from a 20-year developer veteran turned consultancy founder – Tapas Adhikary interview \[Podcast \#206\]](https://daily.dev/posts/tips-from-a-20-year-developer-veteran-turned-consultancy-founder-tapas-adhikary-interview-podcast-soljncyel) · freeCodeCamp · 2 upvotes · 0 comments
- [Xcode Enters the Agent Era -- Fatbobman's Swift Weekly \#122](https://daily.dev/posts/xcode-enters-the-agent-era----fatbobman-s-swift-weekly-122-ik4rg9gcw) · Fatbobman · 0 upvotes · 0 comments
- [7 learnings from Anders Hejlsberg: The architect behind C\# and TypeScript](https://daily.dev/posts/7-learnings-from-anders-hejlsberg-the-architect-behind-c-and-typescript-yexgvapp3) · GitHub Blog · 0 upvotes · 0 comments

---

Tags: [#ios](https://daily.dev/tags/ios), [#swift](https://daily.dev/tags/swift), [#xcode](https://daily.dev/tags/xcode)

[View this post on daily.dev](https://daily.dev/posts/interview-with-s-ren-gregersen---anyone-in-the-team-can-create-and-maintain-xcode-projects-easily-bl0yhm70n)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"Interview with Søren Gregersen - Anyone in the team can create and maintain Xcode projects easily","url":"https://daily.dev/posts/interview-with-s-ren-gregersen---anyone-in-the-team-can-create-and-maintain-xcode-projects-easily-bl0yhm70n","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/interview-with-s-ren-gregersen---anyone-in-the-team-can-create-and-maintain-xcode-projects-easily-bl0yhm70n"},"datePublished":"2026-08-23T12:23:46.015Z","dateModified":"2026-08-23T12:55:37.513Z","description":"An interview with Søren Gregersen, co-founder of Emplate, a Danish software studio building white-label shopping mall apps for over 20 clients across Europe....","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/b8d141e5008a42ac26a49222fc35651e?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/b8d141e5008a42ac26a49222fc35651e?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"\n      Tuist\n    ","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"\n      Tuist\n    ","logo":"https://media.daily.dev/image/upload/s--3AYDH23h--/f_auto,q_auto/v1787487506/logos/tuist-blog?_a=BAMAMicg0","url":"https://daily.dev/sources/tuist-blog"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/interview-with-s-ren-gregersen---anyone-in-the-team-can-create-and-maintain-xcode-projects-easily-bl0yhm70n","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":0},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"ios,swift,xcode","timeRequired":"PT8M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"\n      Tuist\n    ","item":"https://daily.dev/sources/tuist-blog"},{"@type":"ListItem","position":3,"name":"Interview with Søren Gregersen - Anyone in the team can create and maintain Xcode projects easily"}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/interview-with-s-ren-gregersen---anyone-in-the-team-can-create-and-maintain-xcode-projects-easily-bl0yhm70n#faq","mainEntity":[{"@type":"Question","name":"How can I reduce the time it takes to set up a new white-label app target in Xcode?","acceptedAnswer":{"@type":"Answer","text":"Using Tuist's scaffold command to generate new app targets reduced setup time from about 45 minutes of manual clicking and drag-and-drop in Xcode down to around 15 minutes, and the process became simple enough for any team member to perform rather than requiring one person who knew the manual configuration steps. See how other teams streamline multi-target Xcode setups by exploring Tuist discussions on daily.dev."}},{"@type":"Question","name":"How do teams manage dozens of white-label app targets that share most of the same codebase in Xcode?","acceptedAnswer":{"@type":"Answer","text":"One approach uses a single Xcode project with app targets that only contain an AppDelegate and per-customer configuration, while a shared framework holds the main feature code and separate frameworks handle networking, utilities, and analytics. Tuist's project description helpers generalize target configuration so all white-label apps stay consistently set up across 20+ shopping mall variants. Developers structuring multi-target apps can follow Xcode architecture patterns like this on daily.dev."}},{"@type":"Question","name":"What testing approach works well for a VIPER-based iOS app?","acceptedAnswer":{"@type":"Answer","text":"Covering the presenter layer with unit tests close to 100% coverage, using mocked view, router, and interactor objects, works well in VIPER modules, with additional tests added when interactors carry more complex logic. SwiftyMocky is used to auto-generate protocol mocks, and over 500 unit tests plus simple UI smoke tests (also used for App Store screenshots via Fastlane) support the strategy. Track testing strategies for architectures like VIPER as you build iOS test suites on daily.dev."}}]}
```

