How to use Vector Images as LaunchScreen in iOS 9 app? - ios

I am trying to use a pdf image file as Vector Image for LaunchScreen in iOS 9 app but it doesn't shows up. I don't know why.

Per the iOS Human Interface Guide
For all images and icons, the PNG format is recommended. You should
avoid using interlaced PNGs.
Meaning, they don't guarantee support for other formats. You can try to use a launchscreen.xib with a fullscreen uiimageview for greater control over your launch screen interface.

Related

Keep Image Size Proportional + Work with SVG

Language : Swift 3 ---- IDE : Xcode 8 ---- iOS SpriteKit Project
I use a png image loaded in Assets.xcassets and used in program as SpriteKitNode. I created the project working on iPhone SE Simulator. Although If I run the game on another iPhone or iPad images still stay small. (I have the same image made also for x2,x3). Is there a way to load an image and use it proportional to the screen size?
Also I read that on iOS the best image format to work with is SVG. Does anyone know how to work with it? I tried to load a svg image on Assets.xcassets but it doesn't load. Then I dragged the svg image in my project and still couldn't load it on a SpriteKitNode.
Xcode doesn't support SVG yet. It does support PDF though so if you can export/save your SVG as a PDF, you can import that into your assets catalog and get all the scaling goodness of SVG.

Is there a correct way to make image icon/buttons for iOS apps?

So I'm building my app in Swift for iPhone only.
When I want custom image buttons, I create my own image icons for these buttons. I design them as vectors in Adobe Illustrator CS6 and save them as high quality PNG 24 bit.
But my image icons never appear to be very good quality. (I am only comparing this to other apps images. For example:
Icons in eBay app: Nice a crisp/sharp
Icons in Amazon app: Nice a crisp/sharp
Then here are the icons taken from my app:
You can see from the above 'social' icons, that if I just try and make the stroke lines thinner, then they just appear incredibly faint.
All images above are taken as screenshots from my actual device. The icons you see in my app are being shown at roughly 30x30 or 50x50
My questions are:
Am I created these icons wrong?
What size, specs should I be creating these icons as?
Thanks in advance!
Look at this iOS Human Interface Guideline.
It show all the formats and size for all devices

iPhone 6+ images

I have a question that I need confirmation on. I know that the Apple Developer document shows App icon size at #3x
https://developer.apple.com/library/ios/documentation/UserExperience/Conceptual/MobileHIG/IconMatrix.html.
Does this also apply to regular images that you use in your App? I just need to make 100 percent sure. The other stackoverflow answers I encountered just show App icon sizes, but doesn't address regular images that you use through out your App.
If you want your app to take full advantage of the Retina HD display then yes, you need to have all versions for all images used by your app, i.e. image.png, image#2x.png, image#3x.png.
Dont forget to setup launch screens for each iPhone size, or your bigger phones will just enlarge your app views without really using AutoLayout or using the high def images.
It doesn't apply for regular images that you use in you app. Make sure they are with good pixels.
Provide high-resolution (#2x) versions of all image assets.
Images that are not #2x will appear blurry on the Retina display.
source:
https://developer.apple.com/design/tips/

iOS: How to reduce image size for splashscreen

For a universal app to support iphones and ipads, there are several resolutions, retina or non-retina screen, portrait and landscape orientation, so that there would be many *.png, this will hugely increase the final size of app bundle size.
Is there any good advice for reduce image sizes?
You can try Imageoptim, which can optimize also png and jpeg images.
Also, you can use a .jpg as a splash.
Just remember to change the UILaunchImageFile = "splash.jpg" setting in the info.plist file.
I'm using it in my latest app. A 700K png is only a 180k jpg.
The best way is to use pngcrush. You can use it to try all possible encoding methods and get the smallest files possible.

Use JPEGs for Launch Images

This is related to Default-Portrait.png for iPad: any way to make the file size smaller?
Is there any way to specify a more efficient file format (like JPEG) for Default-Landscape.png
and Default-Portrait.png?
Yes it's possible to use jpg files as launch images. Just add "Launch image" key with the base filename (e.g. LaunchImage.jpg") to the Info.plist. Then add files to your project such as
LaunchImage.jpg
LaunchImage#2x.jpg
LaunchImage-568h#2x.jpg
and Xcode will pick them up.
However through personal experience I've discovered if you're supporting the larger iPhone 5 screen the App Store expects PNG format and uses the presence of PNG to determine iPhone 5 support and display of iPhone 5 size thumbnails on the store. Using JPG images will not show the app as iPhone 5 optimized in the app store (even though it will work fine on the device) so it is best to stick with PNG.
There is no way to use an image other than a png.
All launch images must be PNG files and must reside in the top level of your app’s bundle directory. Section: App Launch (Default) Images
Update: JPEG images to work and Apple's documentation no longer specifies that the images must be PNG files.
If you use xcassets, then since Xcode 6 you can use JPGs. However Xcode will still not let you drop JPGs into the LaunchImage folder. But you can do it in Finder. Simply drop your PNGs into that folder with Finder and then edit the JSON file changing all .png extensions to .jpg.
I haven't submitted an app to the store using this yet, but it works in the iPhone simulator at least.
Update: Doesn’t work on the device. I’ll leave this answer here anyway so people know that this technique was at least tried so the effort won’t be repeated.

Resources