I discovered I probably should rename my app. What characters are allowed in the name? I have searched for the list of restricted characters but have found none.
A second question. Apparently the simulator won't allow a slash in the name. Any workarounds (assuming / is allowed)?
You can keep your product name simple (not sure about the the exact rules - I stick with alphanumeric characters), but put additional characters (like '/') in the Bundle Display Name key of your Info.plist file. The name of the built file on disk will be your product name (set by the Bundle Name key), but the iPhone will show the Bundle Display Name value.
I ran into a similar problem a while back with the + character - I couldn't sign any apps with the character in the bundle name. So, I changed the name from Xxx+ to XxxPlus and set the Bundle Display Name to Xxx+. Looked like I wanted it to in the GUI and the signing worked fine.
/ is allowed, see attached scree cap .. alt text http://img713.imageshack.us/img713/5462/slashs.jpg
Related
I'm trying to localize the NSPhotoLibraryUsageDescription key defined in the application's info.plist file (reference here).
This key gives you a point to provide custom message when the app is first asking for access to your camera roll.
I'm using ALAssetsLibrary to enumerate assets groups (which triggers the access request message to pop-up).
So far my googling doesn't answer how I could achieve this.
I want to avoid localizing the whole info.plist file as it contain a lot more non-locale dependent content.
Anyone already solved this or have hints how to proceed?
There is a file you can create (which may be created for you when you create a project) called InfoPlist.strings. This file is used and localized much like the file Localizable.strings.
In it you would have and entry something like:
NSPhotoLibraryUsageDescription = "Test of new Photos warnings";
Note that there are no quotation marks around the key
I think as long as the key is included in info.plist, it will localized using the value in InfoPlist.string if it is available for the language. Otherwise it will use whatever is defined in info.plist.
I have my note here https://github.com/onmyway133/notes/issues/290, or you will get
Missing Info.plist key - This app attempts to access privacy-sensitive data without a usage description. The app's Info.plist must contain an NSPhotoLibraryUsageDescription key with a string value explaining to the user how the app uses this data.
Once these issues have been corrected, you can then redeliver the corrected binary.
Make sure
You declare the keys in Info.plist
You localize it in InfoPlist.strings
You don't need double quotes, like "NSPhotoLibraryUsageDescription" = "Test of new Photos warnings";, you can just use NSPhotoLibraryUsageDescription = "Test of new Photos warnings";
The only way to make this work for me was in Xcode to:
1) Go to Project target -> Info-> Localization-> Add localization
Added language there. This operation created the <projectName>/<LanguageInitials>.lproj folder.
2) I created file InfoPlist.strings inside the folder <projectName>/<LanguageInitials>.lproj;
3) I added the text:
NSPhotoLibraryUsageDescription = "<Add your translated text here>";
inside that InfoPlist.strings file.
4) I then added that folder to the project with File -> add new files to the project or drag and drop.
Note: to test this I:
Cleaned cache, set the language on simulator to be the new one, edited the language in scheme to be the new one at running on simulator and restarted the simulator.
My application used to work just fine. When I changed the Product name to non-USA characters 2 very strange problems appeared:
When I touch a UITextField the application crashes.
The application cannot play sound that is saved to disk.
The issue (1) has been mentioned before but I cannot understand why it happens and how to solve it. Check out last comment: UITextField causes crash in iOS 5, works fine in iOS 4
If I go back to English everything will be fine. But I need an application name with non USA characters.
I don't know where you have changed Your product name. As per my knowledge you have to change the value of key 'Bundle name' in '<>-Info.plist' file.
I couldn't find any specific rules about the character set allowed in the Product Name, but I would keep it in ASCII just to be safe, and perform any customizations to the name using Bundle Display Name (and/or Bundle Name) in your Info.plist file. This would let you have a different application name for different user languages (I'm assuming you want localized app name(s)).
As to what is actually causing your app to crash, it could be that bundle paths are mangled because you have non-ASCII characters in the product name, but I don't have proof of that. Try the suggestion above and see if it works for you.
Bundle Identifier in info plist has my name as company name and then product name which is basically application name.
So my question is that when i enter Bundle Identifier in provisioning profile myname.appname it shows in red that please use alphabet characters or numbers only. Why is that. I don't have company domain name instead i have myname. So i m using myname.appname in Bundle Identifier it shows message in red.
Am i doing something wrong here.
Please suggest.
Thanks
solved it. was using space in my name that is where the problem was.there should be no space if using name instead of company name. So basically myname.appname with no space in between
I would like to use a special character in the name of my app (é to be precise). When using the name for the Xcode project, strange things happen. So I thought I could name the project something else, without the special character. The real name though should still appear on the iPhone, in iTunes and in the App Store. So my question is: Is it enough to change the Bundle display name property? As far as I know, the App Store name can be set when the app is sent to Apple, is this correct?
I would appreciate some help, Fabian
The Bundle display name is what actually shows up on user's devices.
Yes, it can be CLOSE TO the "official" app name.
It does not have to be absolutely identical, so you don't have to panic about accents, etc.
(If it is very different, Apple will reject it.)
For example, it's normal to have reasonable abbreviations, and there would be no problem if you had for example accents in one and not the other.
I had the same problem because I wanted to add a ™ symbol after my app name. When you're putting in your Application Name in iTunes Connect, it accepts special characters. To do one, with your cursor in the text box on the web page, select Edit -> Special Characters... and select your character.
I have almost finished my iPhone app, but want to rename it as I don't like the name I chose in the beginning. Is this easy to do, and if so, how do I do it?
Go to target-> yourApplicationName(double click/get Info)->Build->ProductNAme
Set your new name for that application there
hAPPY cODING...
I don't know what rename does, but there are a possible 5 names to deal with. There's the name of your .xcodeproj file directory, the name of your target within that project, the Product Name under Packaging in the Build Settings, and the Bundle Display name in the Info.plist, and the name you provide for the app in iTunes Connect. None of these 5 names needs to be the same, and you can name them all slightly differently. In fact this is common.
For instance, you might want the Bundle Display Name to be short so that it will fit under the icon, and it can have spaces in it. The Product Name can be much longer and more descriptive, but can't have spaces. You iTunes Connect name might be longer still, with spaces, and you may have change the spelling, etc. slightly if your preferred spelling is already taken, etc.
In the latest version of xcode.
Project > rename.
Choose new name.
I had the same problem recently and tried Project -> Rename, as well as Target -> application name -> Build -> ProductName
Then, I remembered the .plist file. If you double click the .plist file in your app's resources folder, you'll see "Bundle Name". Changing this did the trick for me!
Change your bundle display name in info.plist file