Designing vectors Xcode 6 - ios

I am currently trying to design the views for my iOS application, I am using Photoshop CS6 for making mockups for my design, and how they should look on the application. Right now I am doing a resolution for iPhone 5S 640 x 1136 px
Although I wish to use the new feature with vector images in Xcode 6, which resolution should I design in now? Also what is the actual size of a #1x image, is it for the iPhone 3? Or...?

Firstly, Photoshop is a pixel based software while Illustrator is a vector based software. So if your using Photoshop, you wouldn't even be able to save it into a vector format.
In terms of resolution, by using Illustrator and creating a vector image, resolution doesn't matter at all (you can make it as big or small as you want and it will still be crystal clear)
Anyways, here is the link: https://www.createful.com/2014/using-vector-pdf-icons-xcode-6/
If you need any clarification/questions, just ask!

Related

How To Prepare Image Assets in iOS supporting both iPads and iPhones?

I usually do not care much about my assets even if I support the iPads in my project. As long as the imageView for the background of the app is set to Aspect Fill.
Also, here are some links I've found, but not so related to this question.
OLD Question and old answers: How to support both iPad and iPhone retina graphics in universal apps
Cool question and cool answers, however, question and answers focus merely in iPhones:
iOS: Preparing background images for applications
Going back to the question, if I have an Adobe XD file or Sketch, or Photoshop or whatever file that lets me export an image/asset, in what resolution should I start? Do I start with the largest possible size (for iPad Pro) which is 1024x1366 then let the software cut the sizes into #1x and #2x?
If I'm only to support the iPhones, then this would be way lots easier. Thank you!
If your source is vector based, then (obviously?) it's a non-issue...
With bitmap / raster images, you almost always get better results by scaling down.
Depending on the image itself (a photo tends to scale much better than a line-drawing), you may not be happy with simple "auto-gen" features... in which case, you'd need to manually "scale and tweak".
(Hope that helps).

Which image format i should for ios development native ? SVG or PNG?

I am into iOS development from past 1+ months and what I have experienced is that I have to put images for 1x 2x 3x for iphone and then 2x retina for ipad. One of the experienced designers has sugguested to me to go for svg format as it scales itself according to the screen sizes.
So my elaborated questions are:
Can I use svg instead of png?
Is it necessary to still put images in 2x and 3x for iphone and ipad if I'm using svg?
Will the images in svg scale according to the phone size and not lose quality?
If any other information according to your experience please share.
Thank you.
Official iOS Dev documentation says "the PNG format is the one most recommended for use in your apps". You can read it for a lot more information here.
Yes, although the supported file types table doesn't list it. Apple values user experience. SVG scaling consumes a few more CPU cycles which they don't like. PNG rendering is more efficient than SVG.
Yes, Apple explicitly recommends using multiple versions of the image at different sizes. Then scaling can be done from the file having the nearest dimensions.
Refer 1. There are cases like zoom-in / out scenarios where SVGs would be better though.
You could use vectorized PDFs alternatively. You can read more here. It isn't without limitations, but with vectorized PDFs, Xcode automatically generates scaled versions. That should make life easier. Note that sometimes the scaled results look quite poor.

iOS - what resolution for graphics to look good on all devices?

I have an app and want to place a graphics in it. If i make a graphics in high resolution,for example 2048 x 1536 (iPad), is there a way to downscale it properly to other devices with lower res? My goal is to avoid making n versions of graphics for diferent devices (#2x, ipad, etc...), all of them beign basically the same image just downsized in Photoshop. I would prefer to make one very high resolution graphics and downscale in iOS automaticaly (preserving ratio).
Don't do this. When you go into a memory constrained device you'll have a higher chance to crash! Eg. putting iPhone 6 Plus (#3x) graphics into the lowest iOS 8 compatible device the iPod Touch.
I recommend if you don't want to do multiple images, mind you this is really trivial to do... You can try an application like PaintCode, it will inflate your binary a little but its usually smaller than an image set.

iOS: minimum image resources necessary for ios application using size classes

This question might be a duplicate, but I couldn't find any reasonable answer.
I am developing an app that supports all iOS devices, for which I have to import image resources for every device.
If I use image optimizer, it will destroy quality of images.
Currently my app consists of iPhone 5, 6, 6+, iPad and iPad retina images, which costs me about 20 MB space in my application.
How can I reduce this size? E.g. by removing iPhone 5 or iPhone 6 images, will the application work fine or not?
This will all entirely depend on the design of your application. #3x graphics are for the iPhone 6+ only (for now), and the resolution on the device is so high some users might not notice that the #3x graphics are missing. You might also be able to "re-use" some of your iPhone graphics for the iPad (for example you could use the iPhone #2x graphics for the iPad non-retina). But again, depends on your graphics design.
I don't know how you use this images, but
If you want reduce the size of your app there are, for me, two solution.
Check if the size of your images are not too big (the size of your UIImageView x2 will be enough).
Get the images by downloading the right image and store it in the device.
No, you have to store iPhone 5,6,6+ startup images just to disable scaling.
Remove redundant orientations from startup images.
Try to use ImageOptim to minimise png images. It uses lossless optimisations.
Try to use lossy optimisations for images if they are still too big.
If you use clean background in your app, save startup images with only background colour without UI, and make sure that app start fast. It will look OK.

Is it possible to use non-retina graphics on retina?

I got non retina graphics from a graphic designer to use with an app. The splash screen has a resolution of 400x640. And yet I am supposed to make a universal iphone 5 and ipad app using this graphics. It is in a .jpg file.
My question is, is it possible to use such low resolution images (400x640) on a retina iPad which requires 1536x2048 pixel images? Or should I get images of proper resolution?
You can see on the Apple's developer page that you must meet some graphic requirements for you app. If it's possible to ask for proper resolutions I believe it would be the best.
You can find more information here to pass it to your graphic designer
You can also read here more exactly what is required and what not if you want to get your app in the store
The aspect ratios of the images are different for a start.
Also, IIRC, if you don't have a default image that is 568 points tall, then your app will run letterboxed on 4 inch phone screens.

Resources