I am new to iOS development. I am trying to figure out these things.
A project both in iPhone and iPad. what things are same for both (coding, graphics or UI)?
Design Pattern of apps are same or different?
waiting for answer
Thanks :)
Personally, I find that the only real difference between the iPhone and the iPad is the UI and UX. Most of the code is the same for both applications. (In fact, you can even reuse a lot of code if you are doing a universal app!)
The main difference really is the screen size. The iPad is huge in comparison to the iPhone, and this difference gives you a lot more options to work with.
Another thing to note is that the iPad is usually done in landscape orientation, whereas the iPhone is done in portrait. This is not an absolute rule however, it's just the way I see it.
The graphics aren't too different between the devices, except that because of the large screen size, you can do a bit more detailed work with the iPad images then the iPhone images. (Even with the retina display, too fine detail on the iPhone is barely noticeable.)
The other thing I wanted to mention is the flow of the devices. Again, because of the screen size of the iPad, you can fit a lot more content on the screen, and therefore have to push to new views less frequently. I've worked on apps where we had 3 UIViewController's for the iPhone version, and only 1 for the iPad version.
In short, it depends really on your type of app. If you have a lot of content, and want to display it all at once, go for the iPad. If you want a streamlined, minimal approach to your app, go for the iPhone.
Again, this is all just my personal opinion. Hope that Helps!
You can use native controls without much theming and customization on the iPhone. But iPad is a bigger beast. Users use your iPad app for a longer time. iPhone apps are used for a short stint and then closed, used again for a short stint and so on.
Analytics published by Flurry showed that the average time an iPhone app is kept open is about 1.2 minutes. Design and develop it in a way that data is available as fast as you can.
iPad apps are used in a relaxed setting. While I don't have the numbers, it's probably used more often and for a longer time than an iPhone app. Themes and custom UI elements do matter a lot there
Second, iPad apps need to be supported on all orientation (or at least a minimum of two orientations)
Related
I have an iPhone application developed with iOS and I need to convert the application to universal so the app can appear in the iPad apps section of AppStore.
It just so simple as changing the Device section in my project to universal or I have to re develop the app, create new views, etc?
It depends strictly on your app, but generally speaking, yes, you will need to create new views.
I mean, even if you want to keep exactly the same UI, chances are that it will be more convenient to provide iPad specific versions of your xib files, or adapt the views you created programmatically. This is due to the fact that the iPad is not simply larger: it has got different ratio (3:4 vs. 2:3) and this changes things completely. You might try to play with autoresizing settings for your views and grouping views to make the same xib work as desired on both screens, but I suspect that this is not so easy except for very simple interfaces.
In any case, this is not the end of the story.
Actually, you will not want a "good" app for iPad to have the same UI as the iPhone version, since the larger screen space really screams for using different layout and organization of the information and controls.
As I said, it depends strongly on your app (with games being the strongest exception to the above rule), but in most cases, your app will greatly improve if you redesign it specifically for the iPad, rather than simply adapting it (so that it is not shown in the 1x/2x mode).
The simple answer is yes, just change the device family to Universal and you are done. But this would be pointless and you might even get rejected by Apple.
Take the time to actually create an app that takes advantage of the bigger screen. Use a split view controller and popovers or whatever is appropriate to your app.
Just making your main view bigger is a bad experience for your users.
This is for avoiding an extra target and writing any target-specific adaptation code for the Ipad, separate apps on App Store, etc etc - but instead let the Iphone app display in 640x960 rather than 320x480#2x using the "2x" button.
Even on a non-retina Ipad, there's room for 640x960, but the Ipad is still running Iphone apps on the Ipad as if they were made only for Iphone 3GS.
This is for an app used internally by a company and any authorized client/partner. The company has bought Ipads, but the clients/partners may want to use the Iphones they have.
So, I'm looking for a compile-time target flag or a snippet of code to execute to detect the platform is Ipad and make it display the window full-size.
Has someone succeeded in doing this and if so, how did you achieve it?
This isn't really how things work ... you're trying to create a workaround that will probably take you longer to get to work (if at all possible) than it would if you just commit to making iPad friendly layouts.
If you just make the project a universal binary, then it would run "natively" on the ipad rather than in iphone compatibility mode. After that, the simplest thing you could do is just make sure your view's resize masks are set correctly so they stretch. Depending on the complexity and makeup of your app, many times this is enough to get you through. However, in many cases it would behoove you to just make an ipad specific layout as usability is oftentimes greatly improved.
I'm a newbie of iOS development and I'm confused regarding universal app.
We can use the same code, same xib file for iPhone 4(retina) and previous iPhones, but why we should write two different xibs for iPhone and iPad? What's the difference?
For iPhone and retina iPhone, we use "point" instead of pixel for the coordinate. Why we can't use the similar method for iPhone and iPad?
For some simple apps, it is possible to design your iPhone UI and reuse the same xib file for the iPad. Just select your Target in XCode and copy the Main Interface text from iPhone / iPod Deployment Info to iPad Deployment Info. If you're using a Main Storyboard, copy that too. However, the iPad does not simply scale everything up from the 320*480 / 640*960 iPhone screen to the 768*1024 / 1536*2048 iPad screen. #elgarva correctly says that this would look terrible. Instead, the iPad version makes use of your autosizing masks to resize or reposition each view.
If all of your views can be considered to be left-middle-right or top-middle-bottom, this may work. If you have anything more complicated, you'll need to design a separate iPad interface.
Duplicating your iPhone UI is not just discouraged for aesthetic reasons - iPhones often end up containing a deep and confusing navigation tree for tasks that the iPad can fit on a single screen.
The main reason, is that if you just scale the elements on the UI to fit the larger screen, it wouldn't look nice... and you don't need to do anything for it to work, it automatically does it for you if your app is iPhone only and installed on an iPad (if the user chooses to).
Having a different XIB lets you rearrange your app, and think it so that you can take advantage of the larger screen. You can probably show more information on one iPad view than on 3 different screens on the iPhone... so, your iPhone app could show basic info and expand it when the user taps on it, while your iPad version could show all the information on load, plus extra graphics that look nice but aren't needed, and wouldn't make sense on the iPhone screen.
PS: If you're starting a new app, I strongly suggest you using the storyboard if your app won't have a lot of views... it's really easy to get started and it lets you see your app flow at a glance.
The ratina display just doubles the resolution of original iPhone. If you don't provide separate graphics for retina display, then system just doubles the resolution of resources.
The points are related to physical size of screen, which is similar in old and new iPhones.
For iPads, the screen size changes. This means that its dimension in points will be different from that of iPhone.
duplicating the xib file and renaming that as filename~ipad.xib is working great for me in ios6.1
I am new in iphone application and wanted to see why there are two separate environment when creating an application. When I selecting the template to build my application there are two devices to choose from. Some templates has iphone, or ipad only and one for universal. Since my project wants to work on both iphone and ipad, I choose the template with universal option. It creates two subcategories: iphone and ipad. Does that mean I have to implement both of them ? What are the differences between them?
Yes, the screen sizes of the two devices are different. So they both have different sized XIB files. You can use the same code for both iPhone and iPad, but generally, since the iPad has a bigger screen, it is designed differently than the iPhone version and has more code to it.
Yes, like Jack said, the main difference is the screen size. Hence, the two nib files. The iPad has a lot more real state (i.e. space) because the screen is significantly bigger. Thus, you need to design your UI specifically for that screen size.
Additionally, you are going to want to use that extra space to make a richer UI and consequently a better UX. For example, lots of iPad apps use a UISplitViewControllers to exploit that extra space.
For the rest of your logic and algorithms, you can use the same code because both devices are running iOS.
I haven't checked it out but I know the topic about creating universal apps is covered in section 7 of the Stanford course Developing Apps for iOS
Ive created an iPad app which we are due to send to the app store at the start of next month for approval. The boss has queried me to see whether it could also run on the iphone.I know it is quite easy to convert your app to be universal (compatible for iphone and iPad) but being all the views are designed for the ipad screen size its gonna be the process of chopping and changing to suit the smaller screen size of the iPhone.
Can anybody think of anyway i can make our iPad designed app suitable for the iPhone in a short amount of time? (if there is a way i can fit the big ipad views on the iPhone screen in some manner but still keeping the apple reviewers happy)
There's no shortcut here - you'll have to redesign the views to fit on a smaller resolution screen, and then create a separate App Delegate and select correct XIBs at runtime.