What I found is that info.plist
file should never been localized! I tried to localize my project and tried to tap Localization on all plist and string files. As a result, I could not install my app to Simulator, invalid argument error.
I spent 1.5 days trying to find out reason. I tried all the solutions as listed above, but with no luck. Finally, discard all my localization changes and redo it again. This time, I tried to localize one file first, and then compiled codes and trie to run my app on Simulator.
The issue is info.plist
file. You could localize it. The result is that en
version is moved en.lproj
folder. That is to say, no more info.plist file in the project folder. As a result, Xcode could not find it and exception raised.
Another way to verify it is to check your project settings. Select your target and general tab. The Identity
should be like:

If your project settings are something like this, you have to locate info.plist
, that means info.plist
is missing.

You just cannot locate localized info.plist
in en.lproj folder from project settings.

Don't localize info.plist
file directly. You can localize it by localizing infoplist.strings
file.
This may be one of reasons to get invalid argument exception, as in my case.
I also wrote a blog on this.