App Store Connect

ITMS-90683: missing purpose string in Info.plist

A permission message is missing

ITMS-90683: missing purpose string in Info.plist. The app, or a plugin in it, can use the camera, photos, location or similar, and Info.plist doesn’t say why. Apple requires a sentence for each of those permissions.

Updated

What this error means

The app, or a plugin in it, can use the camera, photos, location or similar, and Info.plist doesn’t say why. Apple requires a sentence for each of those permissions.

Why it happens

A plugin, or the app, references a protected API such as the camera, and Info.plist has no sentence explaining why. App Store Connect blocks the upload until that key exists.

The message tools print

ITMS-90683: Missing purpose string in Info.plist - The Info.plist file for the "App.app" bundle should contain a NSCameraUsageDescription key with a user-facing purpose string explaining clearly and completely why your app needs the data.

How to fix it

  1. Add the key named in the error (NSCameraUsageDescription, for example) to ios/App/App/Info.plist, with a sentence saying what the app does with it.
  2. Write it for people: “Harbor uses the camera to scan your boat’s registration.”
  3. If no feature needs it, remove the plugin that triggers it.

Check a log that shows this

Paste the failing step into the build error explainer. It matches this message, and any others in the same log, in your browser. Nothing is uploaded.

Other App Store Connect errors

Send the next upload without this rejection

CapWrapp uploads to App Store Connect from GitHub Actions and bumps the build number on every ship. When an upload fails, History can explain it from the full log.

  • Free to start
  • No credit card
  • Sign in with Google or GitHub