Icons for two versions of the same iPhone/iPad App - ios

I'm try to develop "pro" version of an app which is already at store. As far as I understand I need a seperate icon for the pro version. Is it possible to change the icon completely? For example instead of typing "pro", can I change the colours of the icon?
A common question: is there any relationship between two versions of the same app? Or are they completely separate apps?
Thank you

If you want to have different icons, you have to separate both apps, they cannot be the same. You'll have to do 2 separated apps in your case.

Also, remember, you'll want to upload a different Large icon (iTunes Artwork) file to iTunes Connect. Since that image, not the icon file inside the app bundle, is what your potential customers will see.

Related

Swift - Is it possible to use ios Mail app attachments icon?

In my app, I want to use an icon for the uploaded document based on its type. Is it possible to use Mail app attachment type icons?
Your app should bundle up any icon you want to use and not rely on icons supplied as part of another app. You can get a good graphic designer to generate icons for the different attachment types you want to support, or buy one of the many commercial icon sets on the market.
It is possible to extract the icons from any app; but while technically feasible it is not legally advisable.

Is it allowed to let the alternate app icon to be dynamic?

Since iOS 10.3 has been released, Apple added a new feature which allows us to change the app icon dynamically, by using setAlternateIconName(_:completionHandler:) method. So far, as mentioned in the method documentation, we have to mention the name(s) of the alternate app icon(s) in the project .plist file, assigned to CFBundlePrimaryIcon key.
Actually, when working with static icons (icons that have been added directly to the app main bundle) it works as expected without any problems:
My question is:
Is it possible -or is there a workaround- to set the alternate app icon dynamically (for instance: icons that have been downloaded from the web and saved in the app documents directory)?
I don't think its possible.
setAlternateIconName(_:completionHandler:) API looks for the icons inside app bundle and cannot be changed to fetch from sandbox.
Also, most probably Apple reviews the app icons you have bundled for avoiding use of same app icons or icons similar to Apple apps.
Refer: https://www.hackingwithswift.com/example-code/uikit/how-to-change-your-app-icon-dynamically-with-setalternateiconname

Is it possible to change an app icon depending on the market?

I have an app published in the U.S and in several countries, including Japan. I'd like to change the icon in Japan. I couldn't find anything on iTunes related to this issue.
Is this possible?
Thanks!
You cannot have different icons for the same app.
You will need to release two versions of your app - one in the Japanese store and one for all other territories.

Programmatically switch between appicon-sets at runtime

I created two versions of my iOS app with Xcode 6 : free and paid. To visually differentiate one from the other I use different background colors : the free version is orange while the paid version is red. I am using one single project for both versions, and a global boolean variable changes the entire app from free to paid (and vice versa).
Of course, all the icons must be different too. I need two appicon sets: one full with orange icons, and the other with red icons.
So my problem is: how to programmatically switch between two appicon sets at runtime? How to tell my project that, if the global variable is false, use the orange icons set, and if it is true use the red icons set?
Next image ilustrate the two appicon sets, but how to call them in-code?
The idea is that, if by the end of the month you forget to pay your subscription, the app becomes orange, then you visually realise you forgot to pay, and after you pay the app turns red again.
You can try below method introduced in iOS 10.3
https://developer.apple.com/reference/uikit/uiapplication/2806818-setalternateiconname
Short answer: You can't do that.
Long answer: Supposed you want to have one paid app and one free app (in contrast to one free app with in app purchases) you should use different targets for your free and paid version. You can use different info.plist files for each target and in those file specify the image to use as the app icon. Also you can change the app and bundle name there, so that you have two different apps on the App Store.
Add a preprocessor macro that identifies your target, you can then use that in your code to define the differences at compile time:
#ifdef LITE_VERSION
[self showAds];
#else
[self showUsefulInformation];
#endif
Apple don't allow the switching of App icons during runtime. So it is not possible to switch between the App icons. If you need to do it create two apps in iTunesConnect with different app names.

Confusion on universal app/iPad target

There are many similar questions, but I haven't really found the answer for this.
I'm making an iPad version of a large iPhone app. Which is the best way to go when distributing? I understand that when turning the app into a "Universal" app, all resources (images etc) for the iPad version are also downloaded to iPhones.
This is probably not desired, so to me it sounds better to use the built-in XCode function to duplicate the target into an iPad target. (This is nice since it will generate iPad-specific versions of all the NIB-files)
However, I'm afraid that this will split the app into two versions on the app store. I want to make it look like a universal app on app store, with the little "+"-sign. Is it possible to make it look like a universal app, when it's actually two different targets?
In a Universal app there is only one binary.
If you create to targets you can compile for either iPhone or iPad, but then you'll have two different apps.
So, no it is not possible to make two apps look and behave like an universal app.
I don't think that the images etc being present in both versions are such a serious problem.
They get compressed and can mostly be used for both versions.
I would prefer having a universal app that syncs via iCloud on all my devices than having to download two versions of the app... Apple does it too, e.g. in iBooks.

Resources