Xcode icon / launch screen catalogs with empty images - xcode

I have an old project (xcode 6) which is using icons and launch images by naming (placed in the root folder and added them through the info.plist).
The thing is, I would like to start using xcode catalogs for icons and launch images but I realized I don't have many of the assets they are requesting in those catalogs.
I was thinking in just filling the ones I have, but I'm afraid Apple will reject my version once I upload it to the itunes. Anyone knows if you can just leave empty images?

Use this - "Migrating Your Images to an Asset Catalog" Xcode will give you warning for all missing icons based on your deployment target
https://developer.apple.com/library/mac/documentation/IDEs/Conceptual/AppDistributionGuide/ConfiguringYourApp/ConfiguringYourApp.html#//apple_ref/doc/uid/TP40012582-CH28-SW5

Related

Missing Marketing Icon iTunes Connect

I have uploaded a couple of applications to the app store with ease. Sometimes I noticed this warning in xCode when I uploaded my app:
Missing Marketing Icon. iOS Apps must include a 1024x1024px Marketing Icon in PNG format. Apps that do not include the Marketing Icon cannot be submitted for App Review or Beta App Review.
But that was not impeding me to send my app for review in iTunes connect... until now.
I have found a few questions about this but none of those have helped me solving my problem. For example, following advise given here I tried adding my icon width xCode in the AppIcon.iconset file but it doesn't work if I do it after packaging my app with appcelerator (I guess that is the normal outcome). But if I do it and the package again, the icon disappears from the file (I think this is because appcelerator generates those files on its own).
How do I add that icon so appcelerator won't remove it when I package?
Or how do I add it to appcelerator so it generates the iconset including my marketing Icon??
I believe I have followed the guidelines completely (My icon is a .png file, its size is 1024x1024 and has no alpha channels nor transparencies) maybe the naming is not correct but I have not found any specific naming for this case.
Use the latest SDK (6.2.2.GA). It was fixed in 6.2.1.GA (https://github.com/appcelerator/titanium_mobile/pull/9451).
If you can't use it you could add the changes in the PR to your _build.js file

app icon is missing for iTunes app accelerator in Xcode Organizer (appcelerator)

When I build my titanium app in appcelerator, the app icon is missing from the organiser when I build it for app store submission
How can I resolve this thanks
Edit:
In itunes connect, this is how it appears after I select the build:
Icon is missing.
Yes we need to have the iTunesArtwork(512X512) and iTunesArtwork#2x(1024X1024) in the folder Resource->iphone-> here we need to have that 2 files.
I've met the same problem recently. I don't know the real reason behind that, but I find that if I change the extension of the image file directly from jpg to png, the AppIcon will not show in the organizer. However, if I open the image with the preview application, export png version of the image and add it to Xcode, the AppIcon will show in the organizer.
Hope this will be helpful for you.
Do you have the iTunesArtwork and iTunesArtwork#2x images in the root of your Titanium project? They are simply png images without the extension. They go in the same folder as the tiapp.xml.
Check alpha channel for all app icons. If alpha channel is exist then just remove alpha channel and then try it.
Thanks
For iOS Only
If you are using Ti SDK >= 5.0.0 GA you must make an Icon called DefaultIcon.png and Ti will make all icons you want automatically !.
You are recommended to add a 1024 x 1024 PNG image, named DefaultIcon.png placed in the project's root folder, which is used to generate all or only omitted icons for the project. New Titanium projects will have the DefaultIcon.png file.
Reference https://docs.appcelerator.com/platform/release-notes/?version=5.0.0.GA
For iOS and Android http://ticons.fokkezb.nl/ it`s awesome tool from https://stackoverflow.com/users/4626813/fokke-zandbergen

Images not showing in iOS 7.1 with XCode 6 / Swift

I have this ObjC code:
[self.myButton setBackgroundImage:[UIImage imageNamed:[NSString stringWithFormat:#"%#-button", self.myObject.name]]
forState:UIControlStateNormal];
This works great with these combinations:
XCode 5, iOS 7.1
XCode 6, iOS 7.1
XCode 6, iOS 8
But when I port one single class of the project to Swift -- a class which is unrelated to anything that is happening in this code -- the images do not display in XCode 6 for iOS 7.1. It does work with XCode 6 and iOS 8.
I finished porting the entire project to Swift, so now the code looks like:
self.myButton.setBackgroundImage(
UIImage(named:self.myObject.name + "-button"),
forState: UIControlState.Normal
)
And it's still unhappy on iOS 7.1. Still no images. (The custom icon works, though.) Yes, I know this is just beta software, and it's probably just a bug ... ? But I'm just wondering if anyone has a solution or insight.
I only started using XCode and ObjC about a week ago (surprise! ObjC is now deprecated!), so it could be that I am missing something, but since it works in ObjC, and in Swift+iOS8, it seems like it's probably a bug.
I've managed to overcome this by not using Asset Libraries to store my images.
Add your images to the project using the "old style naming", like Image.png and Image#2x.png, then load them without any extensions in the filename, as such:
let myImage = UIImage(named:"Image")
Fixed in XCode 6 beta 2
Images from asset catalogs in projects with a minimum deployment target of iOS 7 or OS X
10.9 will be available when running on iOS 8 and OS X 10.10, and now also iOS 7 and OS X
10.9. (17029658)
release xcode 6 beta 2 notes
For me it was because I suddenly add jpg image to Image Assets. Just resaved it as png and all work well
I guess you are testing it on simulator. Make sure the desired image is copied to 7.1 bundle. To do it check copy resources bundle build stage or check manually app bundles for different simulators at ~/Library/Application Support/iPhone Simulator/.
#o KB o points out here that the Xcode6 Beta release notes mention that xcassets bundles aren't supported for iOS7. Additionally, I've found it surprisingly hard to get rid of asset bundles in your project. This can cause naming collisions if your images have the same name as images that were previously in the bundle (you probably want the same names, so you don't have to rename your images everywhere in code / IB).
Here's a workaround:
Copy each image out of your .xcassets image bundle to a new directory (let's call it Images/). See below for a script to make this easier.
Delete your .xcassets bundle. (surprisingly, removing it from the project isn't enough. In my testing, if the .xcassets bundle was anywhere in the same directory as the Xcode project or related sources, it would get copied in. Alternately, you can remove the .xcassets extension)
Add all your image files to your Xcode project
Clean (cmd + shift + k)
Delete the app from the target device or simulator
Install and run
To make step #1 less tedious, I wrote a script to copy images out of the .xcassets bundle and into a directory of your choice: https://github.com/johnboiles/xcasset_exporter
mkdir Images
./xcasset_exporter.py MyProject/Images.xcassets Images
I had a problem where some images in xcassets worked and others didn't (only for iOS 7.1).
I solved it by deleting the problematic image sets and creating new ones with different names.
If you are attempting to use an external bundle with proper PNG images stored in either an "old style" folder or inside xcassets then apps running on iOS 7 will not be able to access these images.
I tried a suggestion from another answer here to add the "old style" folder path of the images in the external bundle but that didn't work for me. My solution, which fit my scenario, was to expose an outlet for the resource in the nib inside the external bundle. This allowed the main app to set with an accessible image to it. Whether this is a bug or simply a constraint in using nibs contained in external bundles with iOS 7 will matter less as it rides on to the usage sunset...
PS: Apps running on iOS 8 where able to access images in the external bundle xcassets just fine so choose your poison for supporting iOS 7.

How to setup correctly iPad Launch Images in xCode 4.2 for both orientations

Ok. So I have iPad app in Xcode 4.2 targeted for iOS 5.1. I provided it with launch images for both landscape and portrait modes and it has some serious trouble with using them properly.
First in landscape mode it shows proper landscape image but rotated by 90 degrees CW and cropped on the right side. Then when it starts to display it properly but does it also in portrait mode (as if it doesn't recognize portrait mode at all anymore).
I've seen some suggestions like providing portrait image with rotated content for landscape mode, etc. but the problem is I can't for the life of me make xCode use both images in right moments.
Is there some voodoo for that? Like setting them in proper order, use plist directly or the slots in GUI, putting them in some special directory or two different directories, I don't know - anything? Fighting xCode over such things will make me puke with blood one day...
Ok, one thing to know is that xCode seems to be very capricious when it comes to updating settings, resources etc. I deleted references to the launch images from the project, cleaned the product in xCode and removed the app from simulator but it still somehow managed to use the launch images even though it didn't show copying the images in build log.
I'm not sure if it took the pictures from derived data or what but I had to delete derived data and remove the images manually from the app bundle in ~/Library/Application\ Support/iPhone\ Simulator/5.1/Applications/ to make it stop. Then I pasted the images manually into the app bundle and now after publishing both images work properly in the simulator ignoring the fact that I didn't set them up at all in xCode!
I'm still not sure how to proceed with the device version - it obviously doesn't have the launch images now...
Apparently xCode doesn't care at all about setting anything about the launch images apart from including properly named images in the project so they get copied to the bundle. As I wrote above you can even inject the images into the app bundle and it still works.
The other side is that once you get the images there it may by hard to get rid of them.
So anyway now I have nothing in my plist about the images, nor anything in the slots in the Target Info and I have four working launch images in my app (both orientations and retina).
Hope it helps someone sometime..

Cannot replace an image by replacing the image files in Finder

I would like to update some images (gif) in my application. After replacing the gif files in the folder, I build the application and run it; the images shown in simulator are not updated. I tried to "Clear all target" and then re-built the application; the new images can be shown in the simulator.
Does it mean the images will be successfully updated in the devices which have installed the older version of the application? Should I modify the code?
You would need to "Replace" those image by the same names as in the earlier build.In this way even if your app is in the App Store, after submitting your update with the new images having the same names can be updated easily.
No need to modify your code.

Resources