Xcode 7 Beta warnings: Interface Orientations and Launch Storyboard - ios

I opened my project in Xcode 7 beta and I am getting the following warnings which I do not get in Xcode 6:
All interface orientations must be supported unless the app requires
full screen.
A launch storyboard or xib must be provided unless the app requires
full screen.
The app uses Portrait orientation for devices only, and I have it set that way. I also have storyboards for both iphone and ipad interfaces. I can't determine why I am getting these warnings. Is this an Xcode 7 beta bug?

This warning is new for iOS 9 since it supports resizable apps with multi-window support. Previously, apps would be auto-scaled to new devices which had different hardware display resolutions to those in the launch image (which is basically how iOS detects the supported interface resolutions). Now, apps which support multi-window must define the resolutions they support by including a launch image or storyboard for all device screen types.
Unless you are re-writing your app to support multi-window, you will be requiring 'Full screen'. This is a hint to iOS that you do not support multi-window, and basically makes iOS 9 work like previous versions in this regard.
So, if you are submitting an app update for iOS 9, and you do not support multi-window, all you have to do is to go to your Project Target settings, select General, and under 'Deployment Info' look for the tick box called 'Requires Full Screen'. Tick this and the warnings will disappear.
It is certainly not a bug. If this warning is present, then your app may have trouble during submission. Not sure about that, because I haven't submitted an app with iOS 9 GM Seed yet, but I'm certainly going to tick the box :-)

Just go to your target,click "General" tab,find the "Deployment Info" section,check the "Requires full screen". :)
It's so easy,right?
BTW, this is not the best solution. There will be more and more better solutions. But when I answer this question, I only thought how to kill the warnings. I didn't explain why do this but how to solve this. Xcode beta version might change it's features, so I just provide a "workaround" at that early time. So if you think my solution is a workaround, please vote up for other better answers. But this is not the reason for voting down. Thanks :)

This is because Apple has added multi task ability in iOS 9. All you need to tell Xcode is that your app require full screen.
Add the UIRequiresFullScreen key to your Xcode project’s Info.plist file and apply the Boolean value YES.
To read more about it in general.
https://developer.apple.com/library/ios/documentation/WindowsViews/Conceptual/AdoptingMultitaskingOniPad/index.html

I just saw this error and after reading the comments, I surely want to support iPad and multi-window use. This is as simple as checking Device Orientation options "Landscape Left" and "Landscape Right" and making sure that my UI supports these.
Best way I found to test for good multi-window support is to use the resizable simulators, or better in my opinion, use the iPad Pro in XCode 7.1 and actually activate the multi-window feature by dragging from the right. After taking these steps, I my app supports these features and I'm able to quickly see what I need to update or optimize to fully support them.

By default the Device Orientation only enables Portrait, Landscape Left, and Landscape Right. You need to enable the Upside Down as well.

“Clean Build Folder” and build again
I got the All interface orientations must be supported unless the app requires full screen. message today in Xcode 7.3.1, seemingly for no reason, no related change that I made.
I do have a LaunchScreen.storyboard
I have not checked Requires full screen.
I tried the usual maneuver when Xcode leaves me puzzled about some-new-error-for-no-good-reason:
Hold down Option key while clicking the Product menu.
Choose Clean Build Folder (not Clean).
Choose Product > Build.
No more problem. After a few more build-and-run sessions, the error message has yet to re-appear.

Have you provided a "Launch Storyboard" for your app? Or have you just provided static images for the various sizes.
Check here:
https://developer.apple.com/library/prerelease/ios/documentation/UserExperience/Conceptual/MobileHIG/LaunchImages.html

Set UIRequiresFullScreen to YES in Info.plist. And tick Requires full screen.

Related

Problems with device target for iOS app

)
Hello all :-)
I want to release an iPhone/iPod Touch only app. However, I know iPad users can still download the app from the app store, which is fine by me. I was simulating my app on simulator to see how it would look like on an iPad. When I simulated it, the app looked terrible: the layout was not the same as the iPhone version, some labels were colliding and buttons were "cut" out of the screen.
I want iPad users to have the same view as an iPhone. I believe a 1x/2x button would appear on the screen in that case. How can I do that?
Any help/advice would be really appreciated!
Thank you :-)
When you upload your app to the App Store it will also allow iPad users to download the iPhone version of the app. This will have the 1x/2x button you are looking for.
However if you test your project on the iPad simulator before you upload the app, it will not be the same iPhone version of the app that the iPad users will see. Instead the simulator will run an actual iPad version of the app which is not what your looking for.
In your project settings, set your target device to iPhone only. Upload the app. When iPad users download the app they will get the iPhone only version with the 1x/2x button for the iPad.
In your project settings, make sure the "Devices" settings is "Universal" (this is under "Deployment Info"). If it was not before, you may have to make some layout adjustments.
Use Autolayout for fixing the design issues
in storyboard right pane -> attribute inspector -> simulated metrics-> select inferred in size for all controllers
You should be seeing this in the simulator (note the letterboxing on all sides):
And your build settings should show 1 as the target device family:
If not, you are iPad-native and that's the source of the trouble.

iPad Pro. Disable native 2732‑by‑2048 resolution

Need to disable the iPad Pro native 2732‑by‑2048 resolution for my app.
I found that it was auto activated if the app use a Launch Screen(LaunchScreen.storyboard).
Is there a way to disable iPad Pro and continue to use Launch Screen.
(I'm surprise that even with no icon for iPad Pro, the native mode was activated, i'm sure a lot of dev don't have the app ready for this)
Thanks
Are you using LaunchScreen.xib or LaunchScreen.storyboard? If so, if the version of Xcode you use supports the iPad Pro, it will compile the LaunchScreen for everything Xcode supports.
You could use an older version of Xcode which does not recognise the iPad Pro as you don't need it.
Or you could use Images.xcassets and not provide an iPad Pro launch image, though according to what you're asking, this doesn't seem that suitable. You could always use the LaunchScreen.xib/storyboard as the initial storyboard, so as far as the app is concerned, you're using LaunchScreen.storyboard instead of Main.storyboard. Though not providing an app icon should hold all this back, as it does with my current apps. Perhaps file a bug report with Apple? Hope this helps!
Official answer from Apple:
If an application includes a launch storyboard and is built with Xcode 7.1 or later, that application will run at native resolution on the iPad Pro regardless of whether the application includes a 167x167 icon.
If you would like to see this behavior changed in a future version of iOS, I suggest you file a bug report. Bug reports can be filled by visiting http://bugreport.apple.com.

iOS: Which flag in Xcode will declare my app for both iPhone and iPad?

I have developed an educational app, and have built it with a storyboard of iPhone. It is working perfectly on iPad without a need for a change (except for pressing the 'X2' button).
Now that the app is active in App Store, I see that iPad users who search for my keywords, do not receive my app in their search results, unless changing the top menu from 'iPad Only' to 'iPhone Only'.
I am wondering if there is a flag that will set my app to appear in the search results for iPad users too.
Or am I forced to create another storyboard?
Will appreciate you help!!
There is no flag for that.
You can create a Universal App (meaning you do support both iPhone and iPad) which then will mean your app is listed in both iPhone and iPad searches on the App Store, however you need to also provide a UI for the iPad version too in this case!
I have found the answer to be: Targeted Device Family
When setting it for both iPhone and iPad, a different UI will be presented for iPad, and you should adapt it to appear correctly.
EDIT
As mentioned by #Lefteris, each target can be marked as universal for that same purpose, but Targeted Device Family exists in the project level and allows setting that flag for all target at once.
I'm still missing a practical guide for turning an iPhone app into universal: how to add a storyboard and how to turn a two-levels behavior (table -> data) into a split table view.

How to set app-icons in XCode 5?

I am using XCode 5.
I am properly setting up all app-icons in proper size and resolution.
When I run the app in iPhone Simulator, the app-icon displays correctly. But, when I change the simulator from iPhone to iPad, then the app-icons does not appear.
What could be the root cause of issue ?
Few Tests
Make sure you have set the icons for iPad as well.
If you have, you can probably stop the project, quit the simulator manually, clean, build and run the project by selecting iPad Simulator.
Make sure you have all the icons set -ie- iPhone and iPad specific. Following is the checklist for the same:
App Icons
Splash Screens
Hope this helps !!!
Icon size for iphone and ipad differs. Check here for apple's documentation
Click on project name.On the right side click General Tab and check whether you have added icons of correct resolution or not.
Icons for Universal Apps
Universal applications use the following icons. Items marked with "Required" must be included.
In addition to the above icons, universal applications with a deployment target of iOS 6.1 or earlier use the following icons. Items marked with "Required" must be included if the application's deployment target is iOS 6.1 or earlier.
more detail https://developer.apple.com/LIBRARY/IOS/qa/qa1686/_index.html

Is ipad version required to publish on apple store?

I am new to iOS development and the response to this question may seem obvious for some experimented developers. If I create an application that targets iPhone, do I really need to include views also for iPad before submitting the applicatio to Apple Store?
No, you can target only the iPhone if you want. Or you can target specifically the iPad. Finally you can create a Universal app that targets both.
It's your choice. You define what you're targeting in your project.
AFAIK You need to submit the screenshots for iPad as well even you are submitting app for the iPhone. I am talking about the itunesconnect while you are submitting. I have experienced this myself when submitted app for iPhone only and was mandatory to add iPad screenshots.
Specifically to Targets or Views in your xcode. NO you don't need to add any extra view, only the views for your target. In case of keeping app universal you could add views for iPhone and iPad.
For taking different screenshots, you don't need to add different views but instead you can use simulator to take all variants of screenshots.
I recently tried to submit a app to iTunes with screenshots for iPad and the binary was only for iPhone.
This is what they informed me.
Your binary doesn’t support iPad. The screenshots or app video preview
for iPad won’t be shown on the App Store
If you target your app to be Universal you will need both, and if you only select a device, iphone example you don't need for ipad.
For universal you need to submit both otherwise the one you set target will be enough

Resources