I have an iPhone application, now i want to convert that application to a universal application which runs on all the devices iPhone/iPod/iPad.
So, where to start, what things i need to do?
Any help, link, sample app, anything, will be highly appreciated.
Thanks in advance :)
I've done that recently, it's actually much simpler than it would seem. I recommend you read the iPad programming guide from Apple, it's about 100 pages in PDF (and you don't need to read all of it). Basically, you need to:
run a command in Xcode that automatically converts your project to Universal
add support for orientation changes, if you haven't done that earlier (it's required on iPad)
go through the app, see what's broken and fix it (e.g. it's likely that you'll see some places where you need to fix autoresize settings for controls)
That's of course if you don't want to redesign the UI for iPad, which you'll probably want to do in the end (e.g. use split views, popup dialogs and various modals, and do less full screen view transitions). The UI that you'll get by going through this steps won't feel 100% iPad-y, but it will work, and will look much better than an iPhone-only app zoomed in, so it's a good start.
Related
I made a HTML5 game for web browsers. Some of the players asked me if I could make it available as an App. Now I have a developer key, but just a VERY basic knowledge of Xcode / objective-c and I dont actually own an Apple computer. (But I can run Leopard/Xcode in VMWare).
Is it very bad practice to make a storyboard application that basically consists out of a splashscreen and a webview that loads my html game page with some added js/css to match the resolution?
Will Apple allow a game developed like this? It seems way easier to update etc...
Can I remove the bottom status bar from a webview using the meta tag? Or does that just work in safari, and will localstorage work?
Are there other, better, faster ways to port html5 to an app?
Sorry for the huge amount of questions, but I couldnt find satisfactory answers to all my questions, and I guess more people will have the same...
gr
Let me try to help you:
No, its not a "bad practice", but maybe for your app it's simple to do just a normal Single View Application. It doesn't mean that it's going to be wrong doing a storyboard, it;s just simpler.
Your App is only going to open a WebView with an URL, so, if you dont do anything weird, it's not going to be rejected.
If you are talking to the status bar, yes, it's possible to remove it easily.
I think that's the best way, just open a view with a webview on it. Another way is making your app call Safari with that URL, that's up to you (your app will go to the background and Safari will be called)
And an extra one: Its totally ok doing it with VMWare, I develop like that sometimes with my PC ;)
i was wondering, i have a little experience making iPhone apps but no coding background in anything and was wondering.... Is there a way to update your iPhone app with new text, pictures, colors, links, etc. without manually doing it from Xcode then having to get the new version approved by apple.
I was hoping to be able to update it from possibly from my website. Any easy way to do this? Preferably the easiest solution. Thanks in advance
There is, but you have to design the application to do it from the start. Instead of reading from the app itself, the app reads from a content management system (CMS) or even just a text file stored on your website. Many apps work this way, but you will need to design the app with this in mind.
For the amount of things you need updated, I would create a iPhone optimized version of your website and in your app, all you would need is a web view that takes the user to your website. So to change content, you could just change your website and the user will think that the app is getting updated. One thing to keep in mind though, if the user doesn't have internet connection or if there internet is slow, the site my not show up at all or be very slow to respond and load. Hope this helps.
My question is... Can we use Xcode to create a tweak for jailbreaked iPhone? Foe example if I want to add some button in the lock screen how can I do? How can I mod the GUI of the default iPhone applications?
This is a really old question, but David is actually incorrect on most counts.
You can add custom UI to jailbroken devices, create tweaks without Xcode, hook into anything you wish, and more, without even having the source code for SpringBoard or wishing for it to be extensible.
MobileSubstrate is a code replacement platform that literally allows you to do anything. You don't even need to be an expert, but admittedly, having at least a moderate grasp on programming and Objective-C concepts helps a lot.
What you're talking about cannot be done. You're assuming 1) that you will have the source code for Springboard (lock screen), and 2) that those programs are extendable.
Without having the source code (it's proprietary), you cannot make "Tweaks" to the lock screen. You have nothing to compile into the lockscreen.
While you can mod them by editing the internal plists (simple things like show title bar or disable rotation), you will not be able to add functionality using XCode.
To create "tweaks" you would have to rewrite the lock screen entirely, or insert very low-level hooks into the Springboard/iOS. This is not possible via Xcode alone, since Xcode is not capable of even installing iOS-level apps (all installed apps are user-level).
You need expert knowledge of the private framework calls, and possibly be capable of disassembling and reverse engineering the specific program you're trying to extend.
I am a complete newbie(as is already evident) and I can't just figure out when to choose what. I have been through countless googling operations but found no help on the said question, hence had to ask here. It would be great if any of you could explain or even point me to some online resource which does it. Thanks again for your time.
It depends what your app needs. I've made an app which is a series of questions in a survey. For that I used a navigation based app.
However I'm now working on a complicated app which uses a series of navigation controllers within a UITabBarController. So for that I chose to start a window based application because there was going to be a lot of custom programming involved and that was the "cleanest slate" available.
Think about what you need your app to do, and remember the different projects you can start are all basically the same and you can always change them to suit your needs, its just what they all start with included thats different.
I would always recommend to start with Window based application template.
From a window based iPhone app, you can make any kind of iPhone application.
To learn:
I would recommend iPhone Programming: The Big Nerd Ranch Guide
Get the Kindle version for your Mac - Kindle for Mac
alt text http://img408.imageshack.us/img408/3245/bnr.th.jpg
I have an iPhone app and would like to create iPad version of it. What is the best way to setup the project when you want an iPhone and iPad version of the app?
I don't see that I'm able to use the same code base since the iPad version will have features in it that the iPhone version doesn't. It seems as though maintenance is going to go up with two similar code bases for the same app.
Refactor the common portions out and create a new target. You're the only one who really knows what the best way to do that is.
I just went through this thought process this week myself, having a published iPad app which I wanted to create an iPhone version of, and I decided on using the universal app approach. I found it worked extremely well for my needs. Once you get past the project setup issues, and the tactics of design decisions of where and how you are going to split up your iPad/iPhone specific code, the universal app framework is pretty fabulous.
Along the way, I created a reusable universal app project template, which I then used as the starting point for my universal app. The code is open source, hosted on github, I encourage you to take a look at it as one way to approach your problem, knowing that it is a tested solution that worked for me. (Additionally, I welcome any contributions from anyone wanting to help make it a more useful project)
The github link is: http://github.com/ryanscott/rcloudlib/tree/master/Samples/rcuniversaltemplate/
In terms of maintenance, I am extremely happy with the minimal added work it takes to support both devices. Sure, it's more work than supporting just one or the other, but it is significantly less maintenance than two separate codebases, where the business & app logic is almost identical.
In summary: I strongly believe that using a universal app is the best approach to creating an app that runs on on both the iPad and the iPhone.
Since the features should be similar but the layout is separate, code base s/b ok but the ib should change - making things far simpler; now v4.0 is a different answer :)
Maintenance would go up a bit. But if you have your app written abstractly enough, it should be fairly easy to port it to other devices. (For example, if you never assume that you will always know the screen size, you should be able to change that fairly easily).
For other things, it may be a bit difficult. However, if you use the Model View Controller (MVC) paradigm of thinking, you should be able to develop both apps simultaneously with only about 1/3 of the extra work. (Keeping the same model and controller, and only swapping out the view, alternatively, you could include the controller in there, but I wouldn't).