使用Expo EAS-CLI提交应用至App Store时遭遇ITMS-90683错误的解决方案咨询
Hey there, I’ve run into this exact issue before with Expo EAS builds, so let me walk you through how to fix it! The ITMS-90683 error is telling you that your app references the camera API (even if you don’t explicitly use it—maybe a dependency does), so Apple requires a purpose string explaining why you need camera access.
Here’s what you need to do (no need to mess with Info.plist directly, Expo handles this through your config):
- Open your project’s root configuration file, either
app.jsonorapp.config.js. - Locate the
iossection in your Expo config. If there’s noinfoPlistobject inside it, add one. - Inside the
infoPlistobject, add theNSCameraUsageDescriptionkey with a clear, user-focused purpose string. Make sure it explains exactly why your app needs camera access—generic messages might get rejected. For your SparkPay app, something like this works:
{ "expo": { // ... your existing config settings "ios": { // ... other iOS-specific config "infoPlist": { "NSCameraUsageDescription": "We need access to your camera to scan payment QR codes for seamless SparkPay transactions." } } } }
- Save the config file, then rebuild your iOS app using EAS CLI with
eas build --platform ios. - Once the new build is ready, resubmit it to App Store Connect.
A quick note: If you’re confused about why the camera API is showing up in your binary, it’s likely from a third-party dependency (like a payment SDK or image handling library) that includes camera access even if you don’t use that feature. Apple’s check just looks for the API reference in the code, so adding the purpose string is mandatory regardless of whether you actively use the camera.
备注:内容来源于stack exchange,提问作者xccelerated99

