# Check what my app needs

Canonical page: https://macbase.app/prompts/check-my-requirements

Reads the Xcode project for the minimum macOS, Apple silicon, notarization and languages, and compares it with what the site says.

## The prompt

Everything from here to the next heading is the task. Do it for the project you have open.

Read my project before you change anything. Tell me what you found and what you'd do, as a short plan, and wait for my OK. Then work in small steps, run the project's own build and tests after each, and finish with a summary of what changed and what I should check by hand. Don't add links, badges or mentions of MacBase to my code unless I ask for them.

Read the Xcode project (or the Package.swift, Tauri or Electron configuration) and tell me, with the file and line for each:

- The minimum macOS: MACOSX_DEPLOYMENT_TARGET, or LSMinimumSystemVersion in the Info.plist.
- Whether release builds run natively on Apple silicon: ARCHS and EXCLUDED_ARCHS, and any dependency or binary that is x86_64 only.
- Whether release builds are signed with a Developer ID and notarized (hardened runtime on, a notarization step in the release script or CI), or go to the Mac App Store.
- The sandbox and the entitlements.
- The localizations: .lproj folders or an .xcstrings catalog.

Compare that with what the website and the App Store listing say, and list every mismatch. Fix only what I confirm: for example, add arm64 to the build, change the deployment target, or add a notarization step to the release script with notarytool. Write the facts to REQUIREMENTS.md in plain words, as they'd read on a listing: "macOS 13 or later. Apple silicon native. Notarized. In English, German and Japanese."

When you're done, these should hold:
- A release build runs on an Apple silicon Mac without Rosetta: `file` on the binary lists arm64.
- `spctl -a -vv` on the built app says it’s a notarized Developer ID app.
- The site says the same minimum macOS as the project.

End your summary with the next step: "Put the facts on your listing" (https://macbase.app/dashboard).

## What you’ll have

- REQUIREMENTS.md with the facts in plain words, as they read on a listing
- The minimum macOS, with the setting that decides it
- Whether a release build runs natively on Apple silicon, and which dependency stops it if not
- Whether release builds are notarized, or go through the Mac App Store
- The sandbox and the entitlements, listed
- The localizations, as language names
- Every mismatch between the project and what the website or the App Store listing says

## A good result

- [How the facts read on a listing](https://macbase.app/apps/vitals): macOS version, Apple silicon, notarized, languages

## Questions

**Why does MacBase care about these?**

Every listing shows the minimum macOS, whether the app is native on Apple silicon, whether it’s notarized, and its languages, and people filter by them. A wrong fact sends someone to an app that won’t run on their Mac.

**Does it change my build?**

Only what you confirm. The first pass reads and reports. Adding arm64, changing the deployment target or adding notarization to the release script are each offered, not done.

**My app is Electron or Tauri. Does it work?**

Yes. The agent reads the packager’s configuration instead of an Xcode project. The facts are the same, and so is the listing.

Then, on MacBase: [Put the facts on your listing](https://macbase.app/dashboard). They go in the Price and requirements section, and show on the app’s page.

## More

- [All prompts](https://macbase.app/prompts)
- [List your app on MacBase](https://macbase.app/submit)
