I am using the internationalized Launchimage here. After upgrading xcode14 and iOS16, the Launchimage of the New Zealand country fails to display, and the Launchimage of other countries is intact.
Related
Recently, one the old projects developed in Swift required new icons for achieving and launching it in flight test but it has no support for iOS 15.0 + AppIcon.
What i Tried and issue:
Converted the images and imported the images in AppIcon but it shows no linkage
also tried adding all png files to iconImages in info.plist individually too
Used Icon Generator to convert original image to required conditions for following images::
Tried https://stackoverflow.com/a/47007270/17484834 's fix but it gives below error while suppressing other errors.
An app icon measuring 1024 by 1024 pixels in PNG format for Asset
Catalog of apps built for iOS, iPadOS, or watchOS
an app icon for iPad of exactly '152x152' pixels, in .png format for
iOS versions >= 10.0. To support older operating systems, the icon may
be required in the bundle outside of an asset catalog
an app icon for iPad of exactly '167x167' pixels, in .png format for
iOS versions supporting iPad Pro
an app icon for iPhone / iPod Touch of exactly '120x120' pixels, in
.png format for iOS versions >= 10.0
Currently i have following in my AppIcon ::
Working(Easy) Solution:
Create new project
Migrate all the files(except the AppIcons) to the new project
Download all the pods mentioned in the old pod file
Copy all the resolution AppIcon files from old project to new project
Clean build
Run the project
Other Solution:
Copying the Assets folder from any other project to the project and copy paste the required AppIcon files
Its valid in xCode8 and iOS 10, but it not valid after i updated my phone iOS 11 & xCode 9 . And I did nothing with app logo images in AppIcon at Assets.xcassets file.
seems to be specific issue with your instance. clean project and derived data and build again.
I have been using the Today Widget in my Swift program and have not had any issues, until I started using iOS 11 beta. Since then the Bundle Display Name is not getting localized. Within my Info.Plist I have:
<key>CFBundleDisplayName</key>
<string>NSLocalizedString(CFBundleDisplayName, nil)</string>
And in my InfoPlist.Strings files I have
"CFBundleDisplayName" = "Recent Chats";
If I display the widget on anything before iOS 11 beta, the String is localized properly, however when I use an iOS 11 beta device, the String NSLocalizedString(CFBundleDisplayName, nil) is displayed.
Does anyone know of a change in iOS 11 beta or bug that could be causing this issue?
Did you test on ios 11 simulator or real device? If you test on simulator, Please change simulator language from Settings>General>Language&Region in simulator.
Another interesting thing which i realize that if you use base.lproj as only English version and there is no such a English localization, when simulator language is changed to Enlish(U.S) or English(U.K), InfoPlist.Strings (Base) value is not shown.
Xcode 5 introduced Asset Catalog, which seems very cool. However I haven't find much information about it. Specifically, I'm interested whether the usage of Asset Catalog has any impact on the app regarding its compatibility.
Is Asset Catalog iOS 7 specific feature (i.e. iOS has to be able to handle it) or it is just convenience tool of Xcode?
Also, I will be grateful for any relevant information resources / links.
Thank you for answers
Yes, it is backwards compatible.
The documentation says:
Xcode 5 provides different functionality for asset catalogs depending
on the deployment target for your project:
For all projects, individual images can be loaded using set names.
For projects with a deployment target of iOS 7, Xcode compiles your asset catalogs into a runtime binary file format that reduces the
download time for your app.
The new binary file format is only used if your deployment target is set to iOS 7. Otherwise it defaults back to simply putting all of the individual image files into your resources folder, as before.
Yes, it's definitely compatible with iOS6. Not sure about 5.
However, if you use it with earlier than 7.0 then you are not able to use the resizable images feature of asset catalogs.
It is unclear if it should be backwards compatible with ios5.
I can tell you for sure that it is buggy with ios 5, at least when it comes to app icons asset catalogs for iPad apps.
If you want to use the assets catalogs to define your app icons for a ios5 compatible iPad app, the icon will appear blury or blank on the iPad (which has ios5). And that is because xcode adds a ^iPad sufix to your icon file names which iOS 5 doesn't know. So when this happens, if the app is a universal app, ios 5 will use a icon which doesn't have a ^iPad suffix (which is actually there for the iPhone version). It will pick the 57x57 version and it will be blurry when resized to 72x72.
If the app is not an universal app (it is only for iPad), ios 5 on the ipad will find no valid image (since all the icon file names have the ^iPad suffix), resulting in a blank app icon, with a gloss effect on the iPad with ios 5.
Now, the project require supporting iPad1, iPad2, the new iPad, iPad with Retina display. So I need to add xxx.png and xxx#2x.png these kinds of pictures into the project bundle, and everything is normal when I run the app in iPad1 or iPad2. But the question is, all xxx#2x.png will not be used in the new iPad and iPad with Retina display when I choose iOS 5.0 as my project deployment target.
However, all xxx#2x.png will work very well if I choose iOS 5.1 or later version, and it doesn't matter with the project based SDK version, iOS 5.0, 5.1, 6.1, all work well.
Have you ever met this problem?
By the way, there is no problem in iPad Simulator, no matter which version of simulator.
I've got it.
As these three pictures showing below:
The key to the question is, that Xcode must compile project by based SDK 5.1 or later. But the based SDK is not the one in project settings. Like me, I put three versions of iOS SDK into the directory, so there are 3 devices in Run Scheme(as picture3 shows) and its order is the same as the based SDK. I need choose based SDK iOS 5.1 or later in Run Scheme, then it will work well.