Need help with respect to publishing app in Apple Store

I have completed my app and tested it several times on iPhone and iPad.
I now am ready to publish this to Apple and I am following the guidlines given in this link.

I am at Step 2) ( configuring the app.json)

My Qs

1) Bundle identifier

I looked into my app’s app.json but it does not have “bundle identifier”

Should I have to do add it in the file ?

This is my app.json

  "expo": {
    "name": "embryo",
    "description": "An empty new project",
    "slug": "embryo",
    "privacy": "public",
    "sdkVersion": "22.0.0",
    "version": "1.0.0",
    "orientation": "portrait",
    "primaryColor": "#cccccc",
    "icon": "./assets/icon.png",
    "splash": {
      "image": "./assets/splash.png",
      "resizeMode": "contain",
      "backgroundColor": "#ffffff"
    "packagerOpts": {
      "assetExts": ["ttf", "mp4"]
    "ios": {
      "supportsTablet": true

This is what is given in the link

   "expo": {
    "name": "Your App Name",
    "icon": "./path/to/your/app-icon.png",
    "version": "1.0.0",
    "slug": "your-app-slug",
    "sdkVersion": "17.0.0",
    "ios": {
      "bundleIdentifier": "com.yourcompany.yourappname"
    "android": {
      "package": "com.yourcompany.yourappname"

2) Icon

I assume this represents my app’s icon in various places like Apple Store, Settings etc
I already have prepared several copies of png (of the same image) with different resolutions as per this.

How do I bundle all of them ?

Can someone help me out on this ?

Your q ain’t very specific but I’m gonna try. You don’t need multiple kinds of icons, just one for android and one for iOS. iOS icons do not support transparency so make sure you have a white background. iOS automatically cuts off the image to round the corners. Android icons support transparency so make sure you have a transparent background. If you use the same iOS icon for Android, your android icon will have ugly white corners.

You can just drop the icon off in your res folder and then in app.json have a relative link to it. In my project root i have a res folder and inside there i have an icons folder. Inside there, I have my app icon: app-icon.png. So my exp.json says “icon”: “./res/icons/app-icon.png” inside the ios section. You can just put this icon entry at the root of your app.json / exp.json if you only want to release for ios. It looks like your app.json is already set up for an icon that will work for ios, you don’t need to do anything more.

The exp documentation suggests 1024x1024 for the icon but the app store complained to me and told me to use 512x512. You do not need to bundle all those icons. I use expo to build my ipa file (obviously) and fastlane pilot to upload to testflight. With those two tools, the icon sizes are magically generated; i dont need any extra steps and you shouldnt either.

You definitely need a bundle identifier and it goes in the ios section of exp.json. For android, instead of bundleItentifier, it’s called “package”