← Blog/For Developers

How to Ensure Correct SDK Versions for App Approval

Wrong SDK versions are one of the quietest causes of rejection. Google Play enforces a minimum targetSdkVersion. Apple requires the latest Xcode. Here is how to verify everything before you submit.

Mar 20, 2026·7 min read·AppTester.co Team

Google Play enforcement: Google Play requires new apps and updates to target an API level within one year of the latest Android release. As of 2026, apps must target API level 35 or higher. Submissions below this threshold are rejected automatically.

Android SDK version fields

compileSdkVersion

The API level your app is compiled against. Should always be the latest stable release.

Requirement: Must match or exceed the targetSdkVersion. Set to the latest stable API level.

targetSdkVersion

The API level your app is designed and tested for. Google Play enforces a minimum.

Requirement: Google Play requires targetSdkVersion to be within 1 year of the latest Android release. As of 2026: API 35 minimum.

minSdkVersion

The oldest Android version your app supports.

Requirement: No hard minimum, but below API 24 (Android 7) reaches very few active devices. Set based on your analytics.

buildToolsVersion

The version of the Android build tools used to compile your app.

Requirement: Should match or be close to your compileSdkVersion. Outdated build tools can produce incorrect DEX output.

How to check your Android SDK versions

1

Open app/build.gradle

Find the android { defaultConfig { } } block. Confirm compileSdkVersion, targetSdkVersion, and minSdkVersion are all explicitly set — do not rely on inherited values.

2

Run: ./gradlew dependencies

This outputs the full dependency tree including transitive dependencies. Look for any library pinned to a very old version or flagged with a deprecation warning.

3

Check the Google Play Console

In Play Console, go to Android vitals. It will flag if your targetSdkVersion is below the current requirement threshold.

4

Run lint

./gradlew lint generates an HTML report. The ObsoleteSdkInt and GradleDependency checks will flag SDK version issues directly.

iOS SDK version fields

iOS Deployment Target

The minimum iOS version your app supports. Set in Xcode Build Settings.

Requirement: Apple recommends supporting the two most recent major iOS versions. iOS 16+ covers 95%+ of active devices.

Xcode SDK

The iOS SDK version Xcode builds against. Tied to the Xcode version installed.

Requirement: App Store submissions must use the latest stable Xcode. Apple enforces this for new submissions within months of each Xcode release.

Swift version

The Swift language version used to compile your code.

Requirement: Keep within 1 major version of the current stable Swift release. Old Swift versions may not build with new Xcode.

Privacy manifest

PrivacyInfo.xcprivacy required since iOS 17 SDK.

Requirement: Required for all apps using tracking APIs, even transitively through third-party SDKs. Missing manifests cause rejection.

How to check your iOS SDK versions

1

Check Xcode version

Help > About Xcode. Compare against the current App Store submission requirement (Apple publishes this in the App Store Connect developer news). If you are behind by a major version, update before building.

2

Check Build Settings

In Xcode, select your target and go to Build Settings. Search for 'deployment target' and 'swift version'. Verify both are set to values consistent with your minimum iOS support.

3

Run: pod outdated

If you use CocoaPods, this command shows every pod with a newer version available. Third-party pods that depend on deprecated Apple APIs will surface here.

4

Check PrivacyInfo.xcprivacy

Open your project and verify that PrivacyInfo.xcprivacy exists at the root target level. If your app uses any of Apple's required reason APIs (UserDefaults, file timestamp, disk space, etc.), the manifest must declare them.

Third-party SDK checks

Deprecated SDKs removed

Google has removed support for several advertising and analytics SDKs. Check your dependencies against the current Google Play SDK Index.

Facebook/Meta SDK updated

Meta enforces minimum SDK versions in their developer portal. Submitting with an old Meta SDK can silently break login and analytics.

Firebase updated

Old Firebase versions may use deprecated APIs that trigger policy warnings. Run: firebase --version and compare against the current release notes.

No abandoned libraries

Libraries last updated 3+ years ago may reference deprecated APIs. Replace or fork them before submission.

No conflicting dependency versions

Gradle and CocoaPods both support lock files. Run a dependency audit before building your release APK or IPA.

Add SDK version checks to your release process

Pin your targetSdkVersion in a team-shared variable so it cannot drift between developer machines

Add a Gradle task or Makefile target that prints all SDK version fields before the release build starts

In CI/CD, fail the build if targetSdkVersion is below a minimum threshold — encode the current Google Play requirement as a constant

Subscribe to the Android developer newsletter and App Store Connect developer news to get advance notice of upcoming SDK version requirements

Run the AppTester Health Check before submission — it detects SDK version issues as part of the automated scan

Check SDK versions before you submit

The AppTester Health Check scans your APK, AAB, or IPA for SDK version issues, missing privacy manifests, and 7 other common rejection causes.