Guideline 2.3 is the rejection for a listing that does not match the app: screenshots of the website, a description that mentions features the app does not have, keywords naming other brands, or an age rating that does not fit. The fix is in App Store Connect, not in a build.
From the App Store Review Guidelines:
Customers should know what they're getting when they download or buy your app, so make sure all your app metadata, including privacy information, your app description, screenshots, and previews accurately reflect the app's core experience and remember to keep them up-to-date with new versions.
In substance, one of: the screenshots do not show the app in use on the device (they show the website, a desktop browser, marketing artwork, or a device frame that is not the one selected); the description or keywords reference other platforms, other apps, or features not in the app; the app name or subtitle makes a claim the app does not back up; the age rating does not match the content; or the privacy information does not match what the app collects.
The listing gets written last and borrowed from the website. Screenshots come from a laptop, the description is the homepage copy with "Android" still in it, and the keywords field has competitor names because that is what the SEO page said. Reviewers read the listing before they open the app.
Screenshots are captured on a real device against your deployed site, so they show the app, with the tab bar, at the sizes Apple wants. The listing is a file in your repo, config/ruby_native_listing.yml, and ruby_native listing push checks it against each store's limits before anything is sent. ios: and android: blocks keep the stores' descriptions apart, so the App Store text never mentions Google Play. Listing.
ruby_native screenshots capture, or the dashboard. Five or so at the 6.9 inch size covers every iPhone. Screenshots.If the screenshots are real and the reviewer thought otherwise, or a keyword is your own brand:
Thank you for the review. The screenshots were captured on an iPhone from the submitted build and show the app's [tabs/screens]. "[Keyword]" is our own registered product name, not a third party's. We've [removed/updated] [the other item] as requested. We'd appreciate a second look under 2.3.
From Joe: TODO one line on what actually got an app through 2.3.
The launch review is exactly this: Joe reads your listing and screenshots the way a reviewer will, before you submit, and tunes the keywords and categories so the app gets found.
See the launch review