Hi I'm making an Universal App.
My App is included many and large Images.
But, Images for ipad are useless at iphone.
Images for iphone are useless at ipad, too.
Just App size increase.
I want to divide images into devices (iphone, ipad).
[iOS Application Target is Universal]-[Devices] is set 'Universal'.
How can I divide images include resources into devices ?
If not is there another way?
I suppose the point of a Universal app is to have everything included. AFAIK, there is no way to separate images for a universal app, also for universal apps, the splash images need to be shipped altogether. Else, you will have to look into the option of separate iPad & iPhone apps.
Related
I have built my react native to work for iPhone6. That is, the 'flex' values are geared for this phone. I want to upload this app to the app market, but there are so many different phones (iPhoneX, iPhone8 etc...). How do i release this app to the app market and cater for all these different screen sizes?
I know the different 'flex' values i need for each of the other phones, but how does the app market know which version with the right 'flex' is needed? I can't upload multiple versions of the app with different 'flex' values.
You don't have to upload multiple apps for different screen sizes. One app will work across all the devices. Test your screens in all of the simulators in XCode and most probably the designs are going to fit all the screens. If not you can use libraries like react-native-responsive-screen to make sure that help making your screens responsive
I am making an iOS 10 ONLY Universal App. Being a developer with poor image-handling skills, it has become too troublesome to generate the splash screen images for me. I guess that's some work for the "designers".
Nevertheless, i have to do it and I need help because what i have made doesn't work fine with the iPhone SE.
I don't care about older devices and operating system versions, but i want to cover every device that can run iOS 10. so forget iOS 6,7,8,9.
Btw, i am using Xcode 8, so forget all about Xcode 5,6,7.
There's too much of confusing content for new developers often wasting their time while they read about older versions and which might not be quite applicable anymore.
I have read the following posts/guides already.
What are the sizes used for the iOS application splash screen?
Image resolution for new iPhone 6 and 6+, #3x support added?
Image sizes required to support all iPhone devices
How to handle image scale on all the available iPhone resolutions?
Use vector artwork for iOS launch image in asset catalog?
The first SO post is so outdated, people are talking about iOS 6 & 7,
and iPhones 6, 6+, 5S, 5, 5C, 4S, 4 and the various iPads.
But no one mentioned/talks about iPhone SE.
The second SO post is also quite outdated, people are talking about iOS 7 & 8, and iPhone 6 and 6+ are mentioned.
Even though i figure out the size, there is a filenaming/convention issue.
I am looking for a table that clearly states the filename, image size(resolution) and the devices it will be applied to.
As usual, Apple's documentation provides good detail about image resolution but nothing about filename.
link -> https://developer.apple.com/ios/human-interface-guidelines/graphics/launch-screen/
I wonder if the filenames matter? I can easily modify the Contents.json file i think.
Is there some tool where i can provide my logo in vector (SVG) format
and it gives me all the splash screens with my logo in the center (with the correct filenames!)
I believe the iPhone 5/5C/6/6S/6+/7/7+ are the only 7 iPhones that support iOS 10. (i checked Wikipedia) Did i miss something?
In a universal app, is making images for iPads mandatory?
Why doesn't everyone use and everyone allow using vector images directly? I hope i can use SVG, and it is easy enough, it looks like currently that is infeasible. correct if i am wrong.
My app only support iPhone device, it can run correctly under iOS9.2 on both iphone and iPad. But after updating to iOS9.3 and iOS9.3.1, my app on iPad can't read user's image. (Both ALAsset and PhAsset have the same problem. )
The image will return nil, and I ensure it's a bug, because it can read image correctly, when I change my support device to universal in Xcode.
Is it a bug for iOS? Or it becomes the rule? All app need to support universal ??
What's the fastest way to make myapp support iPad? I just want to use the scaling like the way iPhone app run on iPad.
I have also faced same kind of problem two days ago, I think you need to update your xcode. Update your xcode to the latest version 7.3
It worked in my case.
I met exactly the same problem and I fixed it.
I can't find any quick solution, and I decide to make my app into support universal.
This means support both iPad and iPhone.
The main efforts are the resolution issues. iPhone is 16:9(320x568 for logical resolution) and iPad is 4:3(768x1024 for logical resolution).
To speed up the modification and no change for my art images, so I put my content int the middle on 4:3 screen.
One good thing to support iPad, users can easily search on app store when he use iPad.
I know that there are several answers for this question, but I was not clear about the result. Here are a few questions:
1) If I created a project as an iPhone project, selecting device as iPhone in deployment info, and designed the app using universal storyboard (i.e any width and any height (600x600) ). Once the design is completed and it is run on an iPad, the UI does not look good. If that is the case then, what's the point in selecting the device as an iPhone? Am I right that when selecting the device as iPhone or iPad, Xcode will allow the app to only run on those devices?
2) Now converting iPhone app to universal app: since image resolution varies from iPhone to universal app, do we have to replace all old images with new images supporting the universal app?
3) If I have an iPhone app, the Apple team will test it, both on an iPhone as well as on an iPad. If they found the UI doesnt match the iPad, will they reject the app?
I would imagine the UI looks just like it does on the iPhone, just enlarged to fit on the iPad. Basically this is because iPhone only apps can be run on iPads, but not vice versa. If you change the app to a Universal app, it will try to run natively on the iPad, and may look better if you have appropriately used auto-layout and size classes.
(Optional other cause) The other option is you're running into an iOS 8 issue where if you use an storyborad or nib for the launch file, it will mistakenly make an iPhone only app work as a Universal one. The use of Launch Screen File in iOS 8.0, 8.0.1 and 8.0.2 will make you universal.
This is a know bug and fixed in iOS 8.1, for you only option is to use assets catalog with a launch images.
Or you can add the device modifier in the Launch file name, like <launchNib>~iphone.nib
As far as images go, you will want to make sure you have images for the different resolutions (#1x, #2x, #3x). If you haven't already, I recommend reading up on asset catalogs (http://schlu.org/2013/10/01/Xcode-Asset-Catalogs.html). Images are not inherently different between iPhone and iPad (except for launch images), but it's the pixel density that really matters (older devices are 1x, most retina devices are #2x, and the 6 Plus is #3x).
If it is truly just an iPhone app, Apple will not reject the app because it looks pixelated and ugly on an iPad. The ability to run iPhone only apps on iPads stems from the initial release of the iPad when people hadn't created iPad or Universal apps yet. Apple basically provides it if someone REALLY wants an app that hasn't been created to specifically support the iPad yet.
That said, I would just go ahead and release it as a universal app. If you don't have revenue reasons for creating separate apps, I wouldn't recommend the extra hassle of having two apps. If course, if your app doesn't make sense on the iPad, simply make it iPhone only.
These are the common practices according to your questions
User interface doesn't depend on deployment devices. User interface depends on your implemented UI logic. As you said, default storyboard size is 600x600 (this could be easily changed), but this doesn't mean, that all devices should be this resolution. When the resolution is different, images and UI elements are misplaced. There are several ways to implement UI logic and make UI flexible, but I guess your question is not about that. So, short answer - devices selections are more about deployment than UI.
It might be some different images for different devices, but images such as buttons or text fields or etc should be flexible.
No, Apple doesn't care about your application appearance and design.
I hope I have answered to your questions.
I uploaded my binary to the app store and in the project portion of the Xcode project it is set to "Devices iPhone". However in the app store it says:
Compatible with iPhone, iPad, and iPod touch.
Why is my app available on iPad? I haven't designed this app for iPad and I don't want it to be available on iPad. What is the deal? How do I fix this?
It is not possible to tell Apple that an app is only for iPhone. All iPhone apps work on iPads.
What's more, if you make your app support iPad and iPhone specifically by changing the assets used based on the device, you can't tell which device it is being bought on.
For that information, you would have to make a seperate iPad-only app. But even then, people can buy the iPhone version for their iPad if they want.
Apps listed as only for iPhone run in a window which has the aspect ratio of an iPhone. The user can choose to run them at 2x magnification if they want it to take up more of the screen.
iPad runs nearly all applications, or apps, designed for iPhone and iPod touch available in the App Store. The App Store also features many applications designed specifically for iPad.
Here are some things to remember when using apps designed for iPhone and iPod touch on your iPad:
Apps may only work in portrait or landscape orientation. These apps will change orientation even with screen rotation lock on.
Apps can run in their original size or expand to fill the screen. Tap the 1x or 2x icon in the bottom right of the screen to switch between sizes.
Text and graphics may not appear as sharp when using 2x mode. If you prefer sharper text and graphics, use 1x instead.
Some features may not be available on iPad (for example, apps that let you make phone calls or use the iPhone camera to take pictures).
More details: Support-Apple:iPad: Using applications designed for iPhone and iPod touch