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

# App name, icon, bundle ID and version

> Change your app's display name, icon, splash screen and version by asking the agent, and learn which changes trigger a native rebuild.

Your app's name, icon, bundle ID and version live in your project's `app.json` file. Newly v2, at app.newly.app and in Newly for Mac, has no settings screen for them. To change one, ask the agent in a chat, for example "rename the app to Trailmate" or "use this image as the app icon" with the image attached.

## Which changes need a native rebuild

| What you change                           | How to ask                                              | Native rebuild? |
| ----------------------------------------- | ------------------------------------------------------- | --------------- |
| Display name (the name under the icon)    | "Rename the app to …"                                   | No              |
| App icon                                  | Attach an image and ask the agent to use it as the icon | Yes             |
| Splash screen                             | Attach an image or describe it                          | Yes             |
| Orientation (portrait, landscape)         | "Allow landscape"                                       | Yes             |
| URL scheme (for links that open your app) | "Set the URL scheme to …"                               | Yes             |
| Version                                   | "Set the version to 1.1.0"                              | Yes             |
| Bundle ID in `app.json`                   | Usually not needed. See below.                          | Yes             |

### What a native rebuild means

The display name is the only identity change that doesn't need a rebuild. Any other change to `app.json` means Newly builds a fresh native version of your app before the next preview. That takes several minutes, and the running preview is replaced by the new build. The agent should tell you when a change will trigger this, and the preview shows the build's progress with an estimate of the time left.

When you have several of these changes, ask for them together so you wait for one rebuild instead of several. More on this in [Native builds and packages](/preview/native-builds).

## App icon

Attach the image to your message. See [Screenshots, files and voice](/build/attachments-and-voice). The agent adds it to your project and points the icon settings at it.

For the App Store, Apple requires a square icon without transparency. Check Apple's current icon requirements before you publish.

In Local chats on Newly for Mac, the agent can also generate app icon designs if you add your own OpenAI key. See [Local chats on your Mac](/mac/local-chats).

## Bundle ID

The bundle ID is the unique name Apple uses for your app, such as `com.yourcompany.yourapp`.

For TestFlight, you don't need to set it in your project. Newly uses the bundle ID from your Apple connection, which you choose or enter when you [connect Apple](/publish/connect-apple). Newly applies it only to the release build, so your project's `app.json` doesn't change and your preview doesn't rebuild.

To publish under a different bundle ID, an organization owner or admin opens the **Ship to TestFlight** card in a chat and presses **Change Apple settings**.

<Warning>
  After you upload a build, Apple doesn’t let you change that app’s bundle ID. Pick it carefully before your first upload.
</Warning>

## Version and build number

Apple tracks two numbers for every upload:

* **Version** is what testers and App Store users see, such as `1.0.0`. It comes from `expo.version` in `app.json`. New projects start at `1.0.0`. Ask the agent to change it when you start a new release, for example from `1.0.0` to `1.1.0`.
* **Build number** tells uploads of the same version apart. Newly increases it automatically on each TestFlight upload, so you never set it yourself.

You can upload several builds of the same version to TestFlight. Change the version when you're ready to release an update on the App Store after a previous version was approved.

## Related

<CardGroup cols={2}>
  <Card title="Ship your iOS app to TestFlight" icon="paper-plane" href="/publish/testflight">
    Build and upload your app.
  </Card>

  <Card title="Connect Apple and manage signing" icon="apple" href="/publish/connect-apple">
    Choose the app and bundle ID Newly publishes to.
  </Card>

  <Card title="Native builds and packages" icon="hammer" href="/preview/native-builds">
    What triggers a rebuild and how long it takes.
  </Card>

  <Card title="Prompting tips" icon="lightbulb" href="/build/prompting-tips">
    Get the change you want in fewer messages.
  </Card>
</CardGroup>
