This has been bothering for days now.
I've set up Arabic localisation in my project and I've set my device Language to Arabic.
When I run my app from Xcode with the run scheme option set to use Arabic Localization, localisation works fine.
When I run the app without Xcode, the app uses English.
I've read the answers to similar questions but none of them have worked for me thus far.
- I am using - NSLocalizableString(@"login",@"");to load the strings from the- Localizable.stringsfile. This works fine as long as I set the Run scheme localization option to Arabic.
- I've tried uninstalling the app, cleaning the project and then re-installing. Now the app uses the Localizabe.strings key names instead of their arabic values. 
- The Localizable.strings file is named correctly, and is listed under "Copy Bundle Resources". 
- The Localizable.strings is perfectly formatter. I've verified this using plutil. 
What else could I be missing?
Example:
-(void) viewDidLoad
{
    [super viewDidLoad];
    // ...
    [self setupLocalization];
}
-(void) setupLocalization
{
    self.mailAddress.placeholder = NSLocalizedString(@"email_address", @"");
    self.password.placeholder = NSLocalizedString(@"password", @"");
}
 
     
    