Developing iPad / iPhone application in same project or in 2 separate (Monotouch)? - iphone

We know that in monotouch we have 2 solution for developing a project for both iPhone and iPads.
First is using Montouch iPad Application projects for iPad, and Monotouch iPhone Application projects for iPhone and create two separate project for each of them.
Another solution is using one Universal Projects for both o them.
The question is: what solution is better and with witch one the result has more quality?

Pros and cons of Universal app.
Pros:
One place to fix bugs in app's business logic;
Convenient to users (after install on one device it could be automatically installed on other device);
Marketing costs could be half as much;
Cons:
It could be too many if -blocks, which are checks for UIDevice.CurrentDevice.UserInterfaceIdiom;
Bigger app size;
Some of the features (mostly in games) do not fit well on iPhone's display.
If you used XIB-based interfaces, you must make separated XIB for iPad OR update XIB content layout in UIViewController's ViewWillAppear event (in which iOS updates View frame according to display size);
If your app is not free, you couldn't release "HD version" with bigger price.
Basically, universal app is better for users, but harder for developers and designers.

I think, you are asking about iPhone and iPad. Because, universal app includes iPhone and iPad (not iPhone and iPod).
So considering this:
You should go with Universal app because of below reason:
1) There will be one source file of the app which will work in both iPhone and iPad.
2) If user has both devices (iPhone and iPad), then they get a single copy of the app and can install in both devices.
3) Your app supports both devices, so users will be highly attract and download your app quickly.
4) If your app will more downloaded (because of Universal app) then there are chances that, your app comes into "New and WhatWorthy" section and even "Feature" section of the apple.
There can be main reason why we should go for Universal app instead of separate app for iPhone and iPad.
Hope, you got an idea.
Cheers!

Related

Duplicate and transition to ipad, is it universal app?

I am having an iPhone application and i want to make it compatible with iPad so what i did is that I went to project->Target->Right Click->Duplicate->Duplicate and Transition to iPad so i got nib files for iPad, i set the views according to iPad resolution. So my this app is working on iPad as well as iPhone my question is that i am having two targets in my project and i have to build two separate builds for iPhone and iPad. I think it is not universal app is it? If it is or not should i have to have separate App ID for iPhone and iPad application to put it on App store ? Thanks
I don't know much about the publishing on the App Store part, but in the company where I work each time we make an universal app for a client we have just one target, one project and one ipa.
Based on the device's type (iPad or iPhone) we then load different files and/or nibs.
For example, if you select your target, you have the Universal option for the Devices field. Choosing it lets you specify different interfaces for each device. The we load different module for each device or use general modules with different nibs.

How can I publish an iPad app from an existing iPhone codebase?

I have a rock solid iPhone app and wanted to know how I could get an iPad app out through iTunes Connect.
What steps are required in Xcode (or AppCode) to compile the app iPad friendly?
What features (like gps) should I pull from the iPhone code base to prevent strange crashing on the iPad?
How do I link and publish the iPad app in iTunes Connect so users who search see my app with a + sign in the App Store (assuming this means it's iPhone and iPad friendly)?
And finally, what else should I look out for doing this from a single obj-c codebase?
There are two types of porting possible one is universal app (in which a plus sign is shown with your app in itunes) and the other is two device-specific application (in which two targets are created one for iphone and one for ipad and both get released as complete independent apps). Now it depends on you which modal you choose. Yet I ported my apps using the second option as I want user to buy each time for each of his device :). Anyways, solely depends on you, here's a good tutorial for this http://www.raywenderlich.com/1111/how-to-port-an-iphone-application-to-the-ipad. I haven't came across any such thing which can crash a similar app on the ipad but might there'd be some. Though there are somethings which I came across that the ipad (ipod too) doesn't have any vibrator available, as my iphone app was using vibration to give some indication, so if you're using it you might need to circumvent it with some alternatives plus your app should support the PortraitUpsideDown orientation. It's weird that APPLE rejected my third ipad app due to this after releasing my first two apps with the similar limitation :).

whether people create separate application for iPad?

We created a few applications targeting iPhone 3 and iPhone 4. When we tested these apps on iPad, they worked well. We thought we do not need to create separate apps targeting iPad. We went with that decision. A few months later, we realized that the graphics are not looking as good as are on the iPhone. Even the text is not that sharp. Now we are wondering whether to create these apps targeting iPad as well. Do people usually create separate apps for iPhad and iPhone or they just create one for these two platforms? If we need to create separate apps, what is the best way to do?
You just need to change the images and size for ipad. A few changes in xibs that are for ipad. you can make same app work on iphone as well as ipad...
Check out this Link that convert iphone app to universal ipad apps
Link here
You can place this condition if(UI_USER_INTERFACE_IDIOM()==UIUserInterfaceIdiomPad) and then load the respective xibs. Hope you are getting my point.
The iPad uses "pixel doubling" to expand an iPhone app to completely fill its screen in 2x mode. That is usually why it won't look as sharp as a native iPad app. The best way to answer whether or not you should make an native iPad app is a matter of customer base and funds for R&D. Do you think your customers will demand (and pay for) a separate app? Is it worth the additional costs to design, develop, support and maintain it?
Also, do the activities involved in your app scale to the iPad platform? When I say this I mean are they complex enough where they would benefit from redesigning to accommodate the extra screen space and UI elements the iPad offers?

Confusing about create an app which has version for both iphone and iPad

I am creating an app which has version for both iPhone and iPad, iPad version has different GUI and some more functionality. Currently, I separate them in 2 projects.
After reading this article: Jump from iphone to ipad development...
And see:
"All iPad users who have already downloaded your free or paid App to their iPhone or iPod Touch will be able to download your iPhone App – only if you have updated your binary submission to the App store to make your iPhone App compatible with iPad. If you do not update and create the separate binaries, then you are potentially losing out. Using the new SDK you will be able to create a single binary which will install one version of your app when used on the iPhone or iPod Touch and a different binary when installed on an iPad"
I don't know if my current way is correct when separate them in 2 different apps! and how to create single binary which will install one version of your app when used on the iPhone or iPod Touch and a different binary when installed on an iPad?
Does anyone know about this please help me!
There are two ways to have an app on both iPhone and iPad. One is to build two separate apps that do the same thing. This is what you are doing, but not what you described. It creates two applications, one for iPhone and one for iPad, that do the same thing. As such, purchasing one will not give the user access to the other.
If you want the user to be able to use a single app on both the iPhone and iPad with different interfaces, you need to build a universal app. It will contain code and resources for both the iPhone and iPad. See iOS Application Programming Guide: Build-Time Configuration Details. About two thirds of the way down is a section on universal applications.
Edit: I found another document specifically about universal applications: http://devimages.apple.com/iphone/resources/introductiontouniversalapps.pdf
Whether to have two separate SKUs on the App Store or not is usually more of a business question than a technical one. Separate apps lets you segment your users and charge more for the iPad version. On the other hand a universal app is usually better received by users and can make the most sense if what you have is a premium, 'expensive' niche app.
If you want to go the universal route:
If you have an iPhone application that
you want to upgrade to run on iPad
devices you need to upgrade the target
that builds your iPhone application
into a target that can build both an
iPhone and an iPad application, or add
a target to your project for building
the iPad application.
To upgrade an iPhone target for iPad
development, select the target in the
Groups & Files list and choose Project / Upgrade Current Target for iPad.

Binary of IPhone in iPad?

I am new to iPad,I am having iPhone distribution build, can i upload to apple for iPad Device?Will it run? will it be accepted by Apple?otherwise i have to create new Ipad application for existing iphone application?
Practically all iPhone apps will run unmodified on the iPad. They will simply be scaled up pixel-by-pixel (with a little "2x" button so the user can choose scaled/unscaled mode).
For the best user experience, you should create a universal binary that provides customised behaviour for each platform, but this isn't required.
Any iPhone application, an application that has not been optimized for the iPad, will run on the iPad in 'compatibility mode', which means it will get its own iPhone-sized frame in the center of the iPad screen. The user also has the option to zoom in the application 2 times, so it takes up almost the entire iPad screen.
So if you want your app to run at all on the iPad, you don't have to do anything exciting, just submit it to Apple as usual, and iPad users will be able to download and use it.
If you want to optimize your application for the iPad, which is almost always preferred over 'compatibility mode', you can either make your current application into a Universal one, which is an app which contains both iPhone and iPad versions, in one binary, or you can create two different applications, one for the iPhone and one for the iPad. You can find more information on this on the Apple Developer website.