Finally, I found the cause of this problem.
As I mentioned in my comments, I managed to find the root cause of this problem, which was localization.
I tried to reproduce the same code and environment in a demo application, but could not reproduce the same behavior. Finally, I was able to indicate the exact cause of viz BundleLocalization , which I used in my application, since I need to change languages inside the application on the fly.
When I dug deep inside the BundleLocalization class, I was able to figure out that there is a category called NSBundle+Localization that has a method:
-(NSString*) customLocaLizedStringForKey:(NSString *)key value:(NSString *)value table:(NSString *)tableName
This seems to ruin the localizationBundle . So, I have to find a workaround for this in order to continue using localization in my application.
source share