Developer Release 1 · Documentation

Your First App

Create a shared Swift project, then build it for Apple or Android.

This walkthrough follows the Hello App demonstration from Steve Sheets’ October 13, 2026 presentation. You will create one shared Swift application and run it using each platform’s native development environment.

1. Prepare your Mac

Need help with the prerequisites? Follow the Development Tools setup guide.

Start with a Mac with Homebrew installed. You can follow the Apple workflow first and add Android when its tools are ready.

  • Apple: Xcode with command-line tools, plus XcodeGen.
  • Android: Android Studio, Android SDK and platform tools (adb), Android NDK 29.0.14206865, Swift for Android SDK, Java/JDK, and Gradle.

These are the requirements used in the release demonstration. Use the environment check below to find missing tools on your machine.

2. Install and check the CLI

Open Terminal and run:

brew tap zodiac-innovations/tap
brew install --HEAD concordui
concordui help

Check your development environment:

concordui doctor

Review the results and resolve missing tools for the platform you want to use. Run doctor again inside your project for project-specific checks.

3. Create HelloApp

In Terminal, move to the folder where you keep your projects, then run:

concordui init HelloApp
cd HelloApp

Use a single-word project name without spaces. init creates the shared starter application and project configuration.

Run the remaining commands from this HelloApp folder.

4. Set your app information

Open ConcordUI.info in a text editor. Change the display name, identifier key, and copyright to match your app. For example:

displayName=Hello App
key=com.example
copyright=© 2026 Your Name. All rights reserved.

Edit these entries in the generated file; keep its other fields. name is the project name, while displayName is the name shown to users. The file also records version and build.

5. Choose your app icon

Replace Shared/Icons/appicon-1024.png with your own square, 1024 × 1024 PNG, keeping that filename. ConcordUI uses it when generating the platform projects.

You can keep the starter icon for this first run.

6. Generate and run the Apple app

Create the Apple project:

concordui apple create

This generates the Xcode project using XcodeGen and connects your shared Swift code and the ConcordUI package. An Apple folder is added to the project.

Open it in Xcode:

concordui apple ide
  1. Set your Apple Developer Team in the target’s signing settings, particularly when running on a connected device.
  2. Select a Mac, iOS simulator, or connected device as the run destination.
  3. Build and run the app in Xcode.

The starter app displays your application name from platform.appName. If you set displayName to Hello App, that is the text you should see.

If project generation reports a problem, run concordui doctor from the project folder and review its findings.

7. Generate and run the Android app

Once your Android tools are ready, return to Terminal in the same HelloApp folder:

concordui android create

This generates the Android project and connects the same shared Swift application to the Android implementation and its Jetpack Compose host.

Open the project in Android Studio:

concordui android ide
  1. Allow Android Studio to finish syncing and preparing the project.
  2. Select an Android emulator.
  3. Build and run the app in Android Studio.

You should see the same application content presented with Android’s native interface. Use concordui doctor inside the project if setup or generation reports a problem.

8. Edit the shared code and add resources

Your application code belongs in Shared/Swift. Images and other embedded files belong in Shared/Files. App icons belong separately in Shared/Icons.

In the generated application’s Swift file, find:

ConcordText(self.platform.appName)

For a simple first change, replace it with:

ConcordText("Hello from shared Swift!")

Build and run again to see your new text. The same shared Swift change supplies the content for both platforms.

Regenerate a platform project when needed

After adding code or resources, regenerate Android as shown in the presentation:

concordui android create -d

Regenerate the Apple project when needed:

concordui apple create -d

-d recreates the generated platform project. It preserves your shared content; keep your app code and resources in Shared, and commit any direct changes to generated platform files before regenerating.

Where to go next

You now have a shared Swift app with native platform projects. Explore the sample applications, review the framework features, or visit the component guides as they become available.