Explore best practices for creating inclusive apps that cater to users with diverse abilities

Learn More

Post

Replies

Boosts

Views

Activity

Export For Localization with multiple targets
I have multiple targets in my app: targetA and targetB. Whenever i "Export For Localization", the .xliff generated will cointain translations for:1) Main.storyboard2) targetA/InfoPlist.strings3) targetB/InfoPlist.strings4) targetA/Localizable.strings5) targetB/Localizable.stringsI want to avoid multiple Localizable.strings, and multiple InfoPlist.strings. We do not need one localization per target.Any way i can force the "Export For Localization", to create a .xliff that only contains one Localizable.strings and one InfoPlist.strings?
9
0
6.6k
Dec ’18
Invalid value for purpose string in info.plist
In the most recent submission of my React Native iOS app to Appstore Connect, I recieved the following notification via email from Appstore Connect:Dear Developer,We identified one or more issues with a recent delivery for your app, "eSELFSERVE". Your delivery was successful, but you may wish to correct the following issues in your next delivery:Invalid value for purpose string - The value 'NSLocationAlwaysUsageDescription' for Info.plist NSLocationAlwaysUsageDescription is not allowed. Your app's code references one or more APIs that access sensitive user data. The app's Info.plist file should contain a NSLocationAlwaysUsageDescription key with a user-facing purpose string explaining clearly and completely why your app needs the data.After you’ve corrected the issues, you can use Xcode or Application Loader to upload a new binary to App Store Connect.Best regards,The App Store TeamThey seem like contradictory errors and I am not sure how to solve them. Here is a fragment from my MyProject/Info.plist:<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> ... <key>NSLocationUsageDescription</key> <string>NSLocationUsageDescription</string> <key>NSLocationAlwaysUsageDescription</key> <string>NSLocationAlwaysUsageDescription</string> <key>NSLocationWhenInUseUsageDescription</key> <string>NSLocationWhenInUseUsageDescription</string> ... </dict> </plist>Here is a fragment from en.lproj/InfoPlist.strings:... NSLocationUsageDescription = "This app records your location when clocking in and out. Clocking in through this app may be rejected if location information is not provided."; NSLocationWhenInUseUsageDescription = "This app records your location when clocking in and out. Clocking in through this app may be rejected if location information is not provided."; NSLocationAlwaysUsageDescription = "This app records your location from time to time to expedite clocking in and out. Clocking in through this app may be rejected if location information is not provided."; ...Here is a fragment es.lproj/InfoPlist.stings:... NSLocationUsageDescription = "Esta aplicación registra su ubicación cuando entra y sale. Entrando usando esta aplicación puede ser rechazado si no se proporciona información de ubicación."; NSLocationWhenInUseUsageDescription = "Esta aplicación registra su ubicación cuando entra y sale. Entrando usando esta aplicación puede ser rechazado si no se proporciona información de ubicación."; NSLocationAlwaysUsageDescription = "Esta aplicación registra su ubicación de vez en cuando para agilizar el registro de entrada y salida. Entrando usando esta aplicación puede ser rechazado si no se proporciona información de ubicación."; ...I am also using the geolocation module of React Native 0.59.1.
3
0
7.8k
May ’19
Wrong InfoPlist.strings file used by the app
I recently added a new language to my app and I have an issue regarding the localization. Configuration: I have the developmentRegion in "fr" and setup 2 localizations: "French: Development language" and "Danish" The goal is to have the application in Danish language if the preferred language is Danish and French otherwise. Issue: If French or Danish appear in my preferred languages, I have no problem. But if neither French nor Danish was set as preferred language (like only English), I have the app translation in French as expected but all strings regarding app permission like "NSLocationWhenInUseUsageDescription" in system modal alert are in Danish. Is like the localizable.strings file used is in the "fr.lproj" and the InfoPlist.strings is the "da.lproj" debug I verify I have all the strings files at the right repository. I have: fr.lproj -- Localizable.strings -- InfoPlist.strings da.lproj -- Localizable.strings -- InfoPlist.strings I verify the file architecture in the .app file: find ***.app -name "*.strings" ***.app/fr.lproj/InfoPlist.strings ***.app/da.lproj/InfoPlist.strings ***.app/fr.lproj/Localizable.strings ***.app/da.lproj/Localizable.strings Finally I print the Bundle.main.localizedInfoDictionary and I have values of the French file but the application show the Danish ones Thanks for the help.
4
0
1.5k
Jul ’21
Call directory extension name not localised in settings iOS 15.3
I have two call directory extensions, each with InfoPlist.strings in en.lproj and nb.lproj directories. In these files I've defined CFBundleDisplayName for both locales. These names are displayed under Settings -> Phone -> Call Blocking & Identification. On iOS 12.2 the names are displayed correctly in both Norwegian and English. Testing on iOS 15.3 the English names are displayed even when device language is set to Norwegian. Worth noting: When updating the English versions of CFBundleDisplayName this is immediately reflected in Call Blocking & Identification page with Norwegian device language. As this feature requires a real device, I'm unable to test on iOS 13 and 14.
6
0
1.7k
Feb ’22
WeatherKit localization options
I am working on an app that pulls data from weatherKit, including the conditionCode property, the content of which is displayed to the user. I wish to localize the data pulled from weatherKit but when pulling data from: weatherkit.apple.com/api/v1/weather/de/{latitude}/{longitude} The conditionCode and other strings is in english. Same is true if the language parameter is set to es, ja or something else. Am I doing something wrong or is localization yet to be supported in weatherKit? I can't find any documentation on this.
4
0
2.6k
Oct ’22
AVSpeechSynthesizer Leaking Like a Sieve
I've found multiple leaks in AVSpeechSynthesizer which are plaguing my users. My users are complaining of crashes due to this. Ive created a feedback item (FB12212129) with a sample project attached which demonstrates one of the leaks. I'm hoping an engineer notices this. The only way ive hade my feedback noticed in the past is by both creating a feedback item AND posting on the forums. So here's my forum post. Help is much appreciated!
6
5
2.8k
May ’23
String Catalog does not work with deployed App
I migrated to String Catalog in my app. That worked fine, and everything is OK in the Simulator and even on a real device. However, After I deployed the App and it became available in the AppStore, I started receiving Feedback from some users. Seems my app is no longer doing localization. It always presents itself in its development language. Has anyone else experienced this?
1
1
961
Jul ’23
English to English translation?
My app supports English and another language. The English string catalog is empty. Running the app in English in Xcode 15 beta 3, all strings are displayed in capital letters. It seems the behavior when translations are missing. Do we need to translate each English key into the same English translation, or is it a bug?
3
0
645
Jul ’23
NSLocale countryCode is 419
Hello, Upon registration to be able to localise the App for the users I am requesting the countryCode: (Locale.current as NSLocale).object(forKey: NSLocale.Key.countryCode) as? String Most of the values are the one expected ("US", "GB", "DE", ...), however in some cases I have numeric country codes like "419" or "241". I wanted to know if this was expected and how I can make them fallback to the regular country code that are none numeric. Thank you
3
0
785
Jul ’23
App is terminated when user changes language
Dear Experts, NSLocale has a notification NSCurrentLocaleDidChangeNotification and a property autoupdatingCurrentLocale ("A locale which tracks the user’s current preferences"). These suggest that an app should be able to detect when the user changes their language preference while running, or when it is resumed from the background. In practice, when I change language in the Settings app (either globally or just for my app), the app is terminated by iOS and restarts with new locale. Is this the expected behaviour? I am wondering if there is something I need to do to advertise that the app can adopt language changes without restarting, or something. Maybe only date-time formats, etc., trigger the notification but language changes don't?
2
0
819
Jul ’23
AppShortcuts.strings ${applicationName} should not be mandatory on the localizable key : Invalid Utterance. Every App Shortcut utterance should have one '${applicationName}' in it.
Xcode 15 beta 6 : Xcode is looking for "${applicationName}" in the strings file keys instead of the value only. (it was working on Xcode 14) error : Invalid Utterance. Every App Shortcut utterance should have one '${applicationName}' in it.
3
1
562
Aug ’23