Add missing location purpose string and Siri example phrases - #192
Open
superlime wants to merge 2 commits into
Open
Add missing location purpose string and Siri example phrases#192superlime wants to merge 2 commits into
superlime wants to merge 2 commits into
Conversation
App Store Connect rejects the upload with: ITMS-90683: Missing purpose string in Info.plist — The Info.plist file for the "Swiftgram.app" bundle should contain a NSLocationAlwaysAndWhenInUseUsageDescription key. The app requests always-authorization for Live Location sharing and declares the "location" background mode, so iOS 11+ needs this key rather than the deprecated NSLocationAlwaysUsageDescription alone. Every Telegram-iOS/*.lproj/InfoPlist.strings already carries a translation for the key — it just never existed in the base plist to be localized. The value added here is the existing en.lproj wording, so the fallback matches the English localization. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
…90626) App Store Connect reports 176 instances of: ITMS-90626: Invalid Siri Support — No example phrase was provided for <intent> in the '<lang>' language. The Intents extension declares five system intents in IntentsSupported (INSendMessageIntent, INStartAudioCallIntent, INSearchForMessagesIntent, INSetMessageAttributeIntent, INSearchCallHistoryIntent), and the app bundles 39 localizations — the 37 .lproj folders under Swiftgram/SGStrings/Strings plus be and ms from Telegram-iOS. Apple wants an example phrase for each intent in each localization, so it expects 39 x 5 = 195 phrases. AppIntentVocabulary.plist existed for only 19 localizations and each covered only INSendMessageIntent, which is exactly the 19 phrases that were present and the 176 that were reported missing. This adds the four missing intents to those 19 files and creates the plist for the 20 localizations that had none. The AppIntentVocabularyResources filegroup already globs Telegram-iOS/*.lproj/AppIntentVocabulary.plist, so the new folders are bundled without a BUILD change. Existing INSendMessageIntent entries are left byte-for-byte unchanged; entries are ordered to match IntentsSupported. The new phrases are machine-translated and would benefit from a pass by native speakers — the validator is satisfied either way, but the strings surface in the Siri and Shortcuts UI, so corrections are welcome. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Two App Store Connect delivery warnings seen on a recent upload of a Swiftgram-based build. Both fixes are additive — no existing line is modified.
ITMS-90683 — Missing purpose string in Info.plist
The app requests always-authorization for Live Location sharing and declares the
locationbackground mode, so iOS 11+ expects this key rather than the deprecatedNSLocationAlwaysUsageDescriptionon its own.Every
Telegram-iOS/*.lproj/InfoPlist.stringsalready carries a translation for the key — it simply never existed in the base plist to be localized. The value added here is the existingen.lprojwording, so the fallback matches the English localization.ITMS-90626 — Invalid Siri Support (176 occurrences)
The Intents extension declares five system intents in
IntentsSupported, and the app bundles 39 localizations — the 37.lprojfolders underSwiftgram/SGStrings/StringsplusbeandmsfromTelegram-iOS. Apple therefore expects 39 x 5 = 195 phrases.AppIntentVocabulary.plistexisted for only 19 localizations, and each covered onlyINSendMessageIntent. That is exactly the 19 phrases present and the 176 reported missing.This adds the four missing intents to those 19 files and creates the plist for the 20 localizations that had none.
AppIntentVocabularyResourcesalready globsTelegram-iOS/*.lproj/AppIntentVocabulary.plist, so the new folders are bundled with no BUILD change. ExistingINSendMessageIntententries are left byte-for-byte unchanged, and entries are ordered to matchIntentsSupported.On the translations
The new phrases are machine-translated and would benefit from a pass by native speakers. The validator is satisfied either way, but these strings surface in the Siri and Shortcuts UI. Worth noting that
AppIntentVocabulary.plistis not covered bycrowdin.yml(which tracks onlySGLocalizable.strings), so they will not flow through the translation pipeline and would need manual correction.Not included
Two other codes from the same delivery are left out on purpose:
MinimumOSVersion13.0, which Apple requires to be 15.0+ for uploads from Spring 2027. Setting this triggers a ton of deprecated call errors that need to get fixed upstream.SG*.alticonsets, so the generatedCFBundleIcons~ipadalternate icon entries have no iPad sizes. Fixing it properly means regenerating those from the original source art rather than resampling the@3xfiles.Testing
Bazel analysis passes. All 39 plists parse with
plistlib, and intent/localization coverage was checked against the exact list of 176 pairs in the delivery email. Can't test against Switgram builds, but the same changes in my fork fixed all the addressed warnings.