Please anyone clarify me what should be the max-min length of the iPad/iPhone application can be?
Forget calculating pixels. I found that the best method is renaming a folder in iOS to find out how iOS handles icon names. Please be aware that there can even be differences between devices! So an iPad icon name can be longer than an iPod icon name.
About 12 letters but it depends on the width of each individual letter (w takes more room than i). And here I am talking about the display name of the app (shown under the icon on the iPad).
The length that it's technically allowed to be is a lot longer than you should make it. The reason being iOS will abbreviate the name on the home screen if it won't fit in the space available, for example "Really Long Title" might display as "Reall...le".
I say 'might' as iOS does not use fixed-width text. The only way to see what works is by trying it and seeing what works.
Finally, the display name is not necessarily the same as the application's name. For example, both the full and free versions of my app use the same display name, though they have different names in the App Store.
There is no limit on the length of application as such. It can be 12,14,16 ...all depends on which characters are present in your app name like W,Z will take much space than i,j . That means your app name appearing in the screen doesnot depend on the length of your name, it simply depends on the width of the screen that each character takes. And usually number will take much space than character. Try out with "iiiiiiiiiiiiii" on your app name and similar length of name with other charcaters.
There are two app name lengths to be concerned with:
the length of the string visible under the app icon on a device's screen
the maximum length iTune Connect allows for app names
The first is addressed above and the advice to experiment with a folder name is the most useful though bear in mind the result is not guaranteed on all devices in all accessibility modes.
For the iTunes Connect case Apple now points you to the App Store Product Page to address this and they say:
The length of your app name is limited to no longer than 50 characters. Notice how your app name will appear on the App Store for each device, including each version of iPhone, iPad, and Apple TV. We recommend keeping your app name to around 23 characters or less for optimal presentation on every device. Long names may be truncated, which means users will not see all the characters.
As at Oct 2018:
"The name of your app as it will appear on the App Store. This can't be longer than 30 characters." iTunes Connect
So 30 Characters max now (reduced from 50 historically)
Related
I'm looking for a set of chars that can be used to include in the app name for app store submission.
So far I know that alphanumeric characters are ok in the app name that is displayed on the springboard
Can an app name start with a digit?
Can an app name have + somewhere in it?
Can it have a ? mark?
Can it have dots . or colons : ?
I ran into problems when submitting an app with a + in it AppName+ displayed fine during debugging, but I could not submit it as a package name for the app store.
What about the name used to list the product in the app store?
I know that : is allowed in the app store name
What about +,-?/:. ?
I need to understand which characters I can display to the user as the app name on the iPhone and which characters can be displayed in the app store.
For example, my app's springboard name is called CoolApp++ . This is the name that is displayed under the icon.
To submit the app to the app store, I need to provide bundle identifier in the form of :
com.yourcompanyname.appname
Any input is appreciated!
An app has 4 names: the product or bundle file name, the bundle ID suffix, the App store name given to iTunes Connect, and the Bundle Display name under the icon. Only the latter 2 names allow special characters and spaces. The first 2 need to be plain ASCII with no spaces. You can set all 4 app names separately, and plenty of apps approved by Apple do have these 4 names all different from one another (as long as they aren't misleadingly different, I suppose).
The Target or Project may try to set these 4 names all the same at the beginning, but they can all be edited and changed to youR preferred, separate and 4 different app names latter.
Now, there is no guarantee as to whether this will pass submission, but any symbol you can find on the keyboard manually is fair game (!?&$#();"-/::[]+}=#*^_€|•<€£|, etc.), along with most if not all Latin-based diacritic characters, Sanskrit, kanji, Korean, both simplified and mandarin Chinese, and Russian. I'm sure there are others, but iOS is only now expanding support for several exotic languages.
When it comes to Unicode and Emoji, there are some characters that iOS might not be able to render, or that apple would deem inappropriate. The springboard was never meant to be a chaotic mess of symbols, it was meant to be a place where people could associate application icons and titles with apps. Though apple seems to be backing Emoji ever since they expanded the japanese keyboard.
So, while they may be found in certain apps, to use apple's words "If we reject your application, do not cite them as examples to appeal your rejection."
Almost all characters are allowed, for example, there are apps with names with diacritics, Chinese and Korean alphabets. There are plenty of apps with ".com" names, or "AC/DC" for example. As long as it the display name is close to the actual name of the application (ie. abbreviations etc. are allowed, entirely different bundle names are not). Apple might reject applications with garish names though.
What will happen if I do the following:
I substitute all non-retina assets with the retina assets
I delete all retina assets in my project ( All the ...#2x.pngs etc.)
Why do I want to do this:
There will be less and less non-retina iPhones in the future (also due to minimal OS requirements etc.)
I get a lighter binary
I don't have so many "quasi-duplicate" files in my project which I have to maintain separately.
Now:
Will the iPhone 3GS scale down the image and display it properly (with a little bit of processing overhead of course)
Will a "retina-enabled" Phone be able to display the image properly even though it does no longer have the #2x suffix in the filename.
In 99% of cases this will work fine. However there are cases where images won't scale correctly (usually depending on the contentMode).
I worked with someone who did this exact thing and never noticed a problem, although I think it is terrible practice.
You will get a lighter binary, but you are asking the older devices (with less memory) to do more work. If you don't want to support these devices then don't, I think this is better than giving users a potentially broken app.
There are better ways to reduce the size of images in your app, reusing them wherever possible, stretching, tiling etc.
3GS and iPhone 4 will both display the image improperly.
The fact is 3GS won't scale down the image. So it won't display the image properly. iPhone 4 will scale the non-#2x image (scale it twice) so it won't display the image properly too.
Nothing will happen if you decide to do this. Older devices will try, but if you allow the device to even run your app, you will have quite a bit of work just to deal with the scaling issues. If you allow older devices to install your app, you will have to be prepared to get approved from Apple on older devices too. If the images don't work right on older devices, you won't get approved. You are also right that there are fewer and fewer retina displayed devices in service.
But... there are still quite a few non-retina devices still in service. Maintaining both is good for your users. Yes it adds a little extra heft to your binary, but with today's speeds on a variety of networks, that isn't the issue like it used to be.
While it is your right to choose which users to support, and there are many developers that share your sentiment, it is still up to you to decide which group of users you ultimately want to support. If you are fine drawing the line with retina displays, so be it.
I could finger-wag at you and tell you that you should support every single user, but I'm sure you've thought of that. If you are fine supporting retina devices only, go for it. If you are prepared to answer questions on why this one device is supported and another isn't, go for it. The good news is, no matter what you decide, you'll be right...eventually. Good luck.
The function
[[UIDevice currentDevice] uniqueIdentifier]
Is deprecated in iOS 5 and I found the solution in this project using the MAC address: https://github.com/gekitz/UIDevice-with-UniqueIdentifier-for-iOS-5
Ok, it is solved. But now I discovery that iOS 5 CHANGED the format of code that uniqueIdentifier return.
In iOS 4.x it is in this format:
93F38DEB-3C0B-5C09-B746-0DFDFDDB297C
Now the iOS 5, the same function return in this format:
93f38deB3c0b5c09b7460dfdfddb297c
Anyone know if the code changed at all? It is different only is format or the code in really different for the same device?
A MAC Address is a (supposedly) globally unique identifier attached to a network interface, though they can be changed in many ways.
The uniqueidentifier that Apple used to provide access to was attached to the device hardware and not changeable, which made it excellent for tracking a user across apps and sessions. That's also the reason Apple is removing it, if I had to guess. Not having a way to track users across apps and sessions increases a user's privacy on their devices.
I wouldn't be surprised if Apple removes access to the MAC Address eventually for the same reasons, so it might benefit you to examine other options for tracking devices.
[[UIDevice currentDevice] uniqueIdentifier] will still give you the same result as before. The project that you link to is not a 1:1 replacement, it is an alternative that gives you a similar solution using a different implementation, thus the two string are different.
You shouldn't use unique identifier on iOS 5. That's all you need to know.
The unique identifier on iOS was always something redundant and a big security threat. Other operating systems don't have unique identifiers and they can live without them.
You can always generate unique identifiers on your server and send them to your device.
You can always generate them from some unique system property (e.g. MAC), using system functions. On iOS you can create a unique identifier using CFUUIDCreate. This identifier is unique across devices and across time (you'll get a different identifier every time you call it) but you can save them (e.g. into keychain).
The code CHANGED!!!!!
UniqueIdentifier is no more UNIQUE!!!
The first format have 36 hexa lenght
93F38DEB-3C0B-5C09-B746-0DFDFDDB297C
The second have 40 hexa!!!!!
Because this, it changed. I don't know if it append more hexa to identifier, but the bigger size changed al all.
How do I make a different icon name for the home screen and the App Store in iPhone?
Apple requires that all of the icons, including the large 512x512 pixel icon for iTunes, be effectively identical. In my experience the large one can be more detailed (graphic textures, etc.), as long as anyone who saw both icons would be able to clearly tell they were for the same app.
The same rule is true for the name of the app in iTunes and the name that shows below the icon on the device: an average user should be able to easily tell that the names match in some way. I've had success with the name on the device being a shortened version of the full name, dropping things like articles ("the," "a," "an") and short prepositions ("for," "by," "on," etc.). I've also had to shorten the app name to its initials ("Fighting Chicks Unlimited" became "FCU"), and it passed without problem.
I have a couple of developer friends who have had their app rejected for the icons looking too dissimilar and for the name in the App Store and the one on the device being too different, so I know Apple definitely has a line you don't want to cross.
I advise that unless there's a very compelling reason for the icons or names to be drastically different, don't bother trying; rejection and resubmission can take weeks.
I guess then that the answer your are looking for is that the icon shown in the app store is uploaded at the time you submit the app in iTunes Connect. It can then obviously be a different file but we recommend you to pass on a picture very close to what th app icon is otherwise your app could be rejected.
Duplicate: Validate iPhone device Ids?
Does anyone know what constitutes a valid iPhone UDID?
Context: I am working on some session code for a server that interacts with iPhones, and was going to use the iPhone's UDID as a unique identifier. However, I can't seem to find any resources on the range of valid UDIDs, and I want to know exactly what I can expect coming from an iPhone.
Clarification: I'm not asking about how to validate an iPhone UDID as a legitimate iPhone UDID, I'm trying to figure out the range of UDIDs. For example, in programming languages there are specs on what you can use to name your variables (starts with a letter, contains letters and numbers, etc.). I want the same sort of spec for the UDID.
It is a 40 character hex string. There is no spec or doc out there that specifies the layout to this string.
I'm not really sure how you can determine what is 'valid' since only Apple knows which UDID are real and which are false.
My best guess, given the various UDIDs that I've seen, they are 40 characters in length, consisting of alphanumeric characters. (a-f0-9)
Actually, the iphone simulator udid has dashes and is 36 hex characters long.
For example:
002ebf12-a125-5ddf-a739-67c3c5d20177
Though I have only seen actual iphone udid's with hex only chars and 40 long.
No, there is no way to do so. This question asks the same thing: Validate iPhone device Ids?
UPDATE:
From what I've seen, the device ID is a 40 character hex string (0-9 and a-f). Apple's documentation for the deviceIdentifier property of UIDevice states:
A unique device identifier is a hash
value composed from various hardware
identifiers such as the device’s
serial number. It is guaranteed to be
unique for every device but cannot
publically be tied to a user account.
You can use it, for example, to store
high scores for a game in a central
server or to control access to
registered products. The unique device
identifier is sometimes referred to by
its abbreviation UDID.
Most are 40 character HEX strings; we have 1 in our company that is 41 characters and is authorized in the dev center for Beta apps. Only way to add it was via safari however so worth noting if anyone gets the same.
try following regex ^([A-F0-9]{40})$
or you could go here and just paste it.
Hope this saves you some time.