iOS convert Universal to iPad app - not working - ios

I have a universal iOS application with multiple storyboards. first storyboard is for login, once the authentication is done, the second one (split view controller) handles some tasks to be added to the system. Upon selecting a specific task, another set of storyboards come into play to provide task specific functionality.
Now, for quick time to market, we had to go with iPad only and cannot support iPhone for now. So, i ended up changing my 'universal' app to 'iPad' and find strange things happening. Now all of a sudden, when the user logs in and moves from storyboard 1 to 2, iOS complains that there's no storyboard with a given identifier. This is a fully functionaly iOS app. Setting the devices as 'universal' works properly on iPad, however, setting devices to 'iPad' results in storyboard identifier not found exception.
Can't i covert a 'universal' app to 'ipad' straight ? are there any specific steps required for converting a universal app to iPad ?
Any thoughts would be much appreciated !
Thanks

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.

iOS simulator change devices not working

So I'm working through the BNR iOS objective c book, and I want to run a project on the iPad simulator. according to the book, I change the deployment device in the general settings for the project target as "universal," which I did.
However when I run and switch to any iPad on the simulator I get drawn back to the main method of my project. The iPad does appear after a delay, but without the app I built. I've set all the views in my xibs to "inferred" but I still can't run my project on iPad.
Any help would be appreciated, thanks.
This is probably because the app is crashing. it's possible if you created the app without setting it to universal it is missing a storyboard for iPad which would cause a crash and take you to that area. You should look at the console logs and see what is happening. There should be good information in there as to what is missing or why it's crashing right away.

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.

iPhone not showing same results as simulator

I have an app that was developed for iOS 4 and 5 and I migrated it to iOS7. When I test it on my iPhone 4 with iOS 7.1 is not showing the same results as the simulator.
Any suggestions?
Basically is not showing the initial segmented control, the map segmented control, the view associated with the control and it´s showing the scanner in a bigger size. The simulator showed the same issues before I restore the contents and settings in the simulator.
EDIT
If you watch very closely on the iphone it shows the segments and other elements of the view behind de navigation bar . But in the storyboard they appear right in the place that i want them. Is any form to consolidate my storyboard ??? Are any files that depend of the storyboard that i´m not including or generating.
The storyboard icon looks like black and also the .plist what does this means?
Simulator doesn't have the memory limitation as the device.
Simulator uses x86 arch, device uses ARM
It is a simulator, so it only "simulates" the behavior. Always test on device before submitting to the App Store.
Ok the problem was that i had installed the original app that is published in the app store. When I tested the current development on the iphone the existing app was replaced with the current one and that caused trouble. The solution was to delete the app from the device and then run again the current version of the app and that was all.

how to make Universal application, if i have mistakenly deleted MainStoryboard_iPad

I made iOS application first as universal , then some how i deleted MainStoryBoard_iPad because the client said that application required is only for iphone not for ipad. Now client asked me that he wants to run the same app on iPad with 2x button at the right bottom of the screen. Now when i run on iPad it crashes. What are the possible solutions to run the application smoothly on iPad.
If your client want the app to run on the iPad with a 2x button, they do not want a universal app; they want an iPhone app.
You do this in your project properties. Switch the type from "Universal" to "iPhone". You'll probably also want to remove some of the extra lines in the Info.plist that refer to the iPad version.
1) Even when you're the only person doing the development, always, ALWAYS use source control.
2) Go to your target, Summary tab, change the Devices to Universal, XCode should if you want to generate the iPad files - then modify the new files to fit your needs.

Resources