chore: declare ITSAppUsesNonExemptEncryption=NO for App Store upload

Apple's annual encryption self-classification questionnaire
pops up for every build that does not declare this key. All
network calls in OSGKeyboard are HTTPS (the LLM polish call
hits a user-configured OpenAI-compatible endpoint) and Apple
classifies standard HTTPS as exempt under EAR Category 5 Part
2 Note 4, so the app does not need an encryption registration.

The Info.plist properties live in project.yml (XcodeGen), which
is what xcodebuild actually consumes. The Info.plist stub on
disk is regenerated from project.yml by xcodegen and is
gitignored in spirit (it is checked in for tool compatibility
but XcodeGen treats it as the canonical source).

Verified by:
  plutil -p .derivedData/.../OSGKeyboard.app/Info.plist | grep -i encrypt
  -> "ITSAppUsesNonExemptEncryption" => 0

Refs: AUDIT_APPSTORE.md P0-4
This commit is contained in:
Zhongshu Audit
2026-06-20 21:33:44 +08:00
parent fbc3bef13d
commit 784446ea4b
2 changed files with 8 additions and 0 deletions
+2
View File
@@ -36,6 +36,8 @@
</array>
<key>CFBundleVersion</key>
<string>$(CURRENT_PROJECT_VERSION)</string>
<key>ITSAppUsesNonExemptEncryption</key>
<false/>
<key>LSApplicationCategoryType</key>
<string>public.app-category.utilities</string>
<key>NSAppTransportSecurity</key>
+6
View File
@@ -95,6 +95,12 @@ targets:
- CFBundleURLName: com.osgkeyboard.ios.settings
CFBundleURLSchemes:
- osgkeyboard
# All network calls are HTTPS (NSAppTransportSecurity above);
# nothing in the app uses non-exempt encryption. Declaring
# `ITSAppUsesNonExemptEncryption: false` lets us skip the
# annual self-classification questionnaire in App Store
# Connect on every upload.
ITSAppUsesNonExemptEncryption: false
settings:
base:
PRODUCT_BUNDLE_IDENTIFIER: com.osgkeyboard.ios