How do I start developing iPhone apps? and can it be done on Windows? - iphone

Hey everyone,
I want to learn how to develop iPhone apps, I heard that I need to get a mac in order to do so,
So I'm here to ask if its possible to develop apps in windows, and if its possible, where do I start?
P.S: Some guy told me that I need some sort of a certificate in order to develop apps,
well is it true? and if it is true, how do i get it?,
And will I need to "jailbreak" or something like that in order to install my app on iphones if i dont have the certificate?
Thanks in advance!

Only way without buying Mac hardware is to use a virtual machine with OSX installed. It is not great but doable.
Some month back I wrote a bit about this subject here.
Using OSX in a virtual machine is not something I would recommend to do permanently. It is more like doing it for a while to understand if programming for iPhone is the way to go.

The supported way to develop is via XCode on a machine running OS X.
You need a certificate to upload an application to a device.
You can develop and test on the simulator without a certificate.

I believe you can find all the right information over here: http://developer.apple.com/devcenter/ios/index.action
I thought you do need a mac and you do need a kind of certificate, I am not sure about the jailbreak part.. but i don;t think that is necessary.

I don't think its possible.
http://forums.macrumors.com/archive/index.php/t-560048.html
But I might be wrong.

At first, programming AppStore Compatible applications is only possible on Mac OS X.
You need a certificat if you wan't to test your application on your iPhone and publish it. With out the certificat you can still use the iPhone emulator, which is included into the iPhone SDK.

See the linked previously asked StackOverflow question for the details, but you do need a Mac. Really. Buy a cheap Mac Mini on eBay if you're short on money. And then buy a book on iPhone development that has good ratings on Amazon :-)

You can't do it in Windows, you have to run Mac OSX somewhere. You could Hackintosh your windows box but as you are complete newbie to Mac OSX, it's very tricky. Buy a second hand Intel Core Duo Mac Mini from Ebay if you haven't got much cash and make sure it has Snow Leopard installed or install it from cd yourself.

Related

Do you need a Mac to develop ios apps with Rhodes / frameworks

I know you need a mac to develop native iOS apps .
However, I am currently trying to use Rhodes framework for developing apps and am wondering if I need to buy a mac eventually to be able to compile for iOS etc ?.
Or probably for testing etc, since I believe iOS doesnt have an emulator
Thanks !
You actually do have to run macos. You don't have to buy a mac but if you can install osx on your machine or if you buy a hackintosh, You shouldn't have any problem. As far as I can say, there is an emulator and it is quite possible to make it run on windows and compile things.
I read somewhere that you can do most of the job with pain on windows, but you'll end up singing your package on osx. While as funny as it is. Someone gave the idea to run osx in a vm. You could probably do that if you really need to.
Anyway the simplest way to do that is to buy a mac, but if you really reject the idea to spend money on a mac, you could find a way to do all you need without a mac. But you almost definitely need to install osx.
You don't need a mac with OSX to compile a Rhodes app for iOS, you can use RhoHub.
You can upload your Apple developer key to this service at it will generate the binary for you.
But at the end, to test and debug your app, having an OSX machine available it's better.

Development environment for Iphone?

Dear all.
Today, I start to learn iOS. I don't know what tool I need to install to develop IPhone applications.
At this time, I have a HP laptop which is running with Windows 7.
If you know about this, please tell me.
Thanks all.
Binh Nguyen
#Nguyen, If you want to use your HP laptop for developing for iPhone then its possible. I have seen people do it. But it will back fire at you and cost you more, coz macs GUI is very heavy for non mac devices and it causes them to crash all the time. My friend installed mac on VM ware and it caused him around 159$ to repair his pc (he was working on final cut pro). so if you want to just learn the objective c language then its ok, but it wont be good for actual software development and deployment. And plus Xcode is very heavy software (3GB approx), its the worlds best editor but you will face a lot of problems if you dont use mac and probably wont want to work on it again. So take my advice if you just want to learn objective c, you can probably do that by using some unix compiler too for compiling the code and s.
Hope this might help you decide. Bye
Edit: here is some of the links that will get you started with objective c and objective c on windows
http://www.ehow.com/how_5148893_start-learning-objectivec-windows.html
http://www.roseindia.net/iphone/objectivec/objective-c-windows.shtml
https://stackoverflow.com/questions/535198/best-way-to-learn-objective-c
http://techgossipz.blogspot.com/2011/01/learn-objective-c-on-windows.html
Enjoy.
You will need an Macintosh computer in order to develop native iPhone applications. You will need to download XCode which will include everything you need. If you want to actually run the applications on a physical device you will need to register with Apple as a developer.
These people are WRONG. You don't need a mac to develop iphone apps. There are many options for Iphone Development on PC.
Airplay SDK is a great FREE tool for developing fast, high quality, portable code. It deploys to PC, mac, iphone, droid, and many others.
DragonFire SDK costs money, and I would not use it before Airplay, but go ahead and check it out if you want.
There are others I'm forgetting but you can do a quick search on google or stackoverflow for them.
In order for you to test your software so that it actually works you need to run it on a physical device: an iPhone/iPad/iPod. In order to download to a physical device you need to have the $99 software license from Apple. If you don't have that you can also not sell your software in the app store. So the path of least resistance is to get a cheap mac book/mac mini and an iPod -- as a bare minimum, all other roads are full of pitfalls.

iPhone development on PC: Best Option?

I keep reading things about Airplay SDK and Dragonfire SDK. Are these legitimate options for iphone development without a Mac? Anyone have any better solutions?
You're not going to get away from the need of OSX regardless of framework due to signing etc.
Before I bought my epic 2007 MacBook at €300 I used VmWare to run OSX and as such access Xcode.
No promise on legality of the procedure, but it's pretty much that, Hackintosh or buying a Mac.
In terms of Legal iOS development it's OS X or nothing. Plain and simple.
Life is too short.
A Mac Mini is an affordable option and it will hold it's resale value on eBay well.
DragonFire SDK is an easy way to get started if you own a PC and don't want to get a mac. I had it up and running in a few minutes. Was learning off the tutorials in a few hours. Seems if you want a more comfortable/non workaround then you will need to get a Mac. The price tag for a Mac is what pushed me to DragonFire for now. A little cheaper option is looking at the refurbished macs. Save a few hundred and still get the warranty.

Development of iPhone application in linux [duplicate]

This question already has answers here:
Closed 10 years ago.
Possible Duplicate:
Starting iPhone app development in Linux?
I have to develop an iPhone application that is able to transfer real time data from a server to an iPhone.
Some real time data examples are:
cricket scores,
stocks,
etc.
We have been told to develop our project in Linux using Objective C. As I'm completely new to this field, could anyone give me any ideas about how to start the project?
Is it recommended to use Linux?
You'll have to use Mac OSX if you want a sane pipeline. You're also going to need to pick up a book on iPhone development. You can run OSX in VMWare if you want by following the tutorial here.
Start by going back to the project manager and tell them that you need a proper Mac to develop for iPhone.
Any hacks you apply to make this work under Linux will just cost you more money than a Mac mini costs now. Unless you are a slave and work for free?
Also using Linux hacks for commercial iPhone development is a violation of the iPhone Developer Program contract you signed to publish applications on App Store. So your legal department should be signaling the red flag if project manager suggests Linux for iPhone development.
Don't even think of using Linux. You'll waste so much time hacking together a development environment and you still won't be able to get some of the required XCode tools such as code signing. It'll be easier & cheaper to just get even a Mac mini.
No, don't use Linux to develop iPhone apps. While there are Objective-C compilers available, you won't have access to all the Cocoa libraries, which are the bread and butter of iPhone development. You'll need a Mac.
Adding to the other comments here discouraging the use of Linux for developing iPhone applications, unless you are targeting jail-broken iPhones, you must have Xcode for signing and provisioning iPhone applications. Also, you'll have no method for running your code inside of a simulator. The easiest/cheapest solution is to buy a cheap Mac (a Mac Mini can be had for under $600 using your current peripherals).

iPhone Programming in Mac OS X running not in a Mac Computer

I want to try some "programming for iphone".
For that I need a Mac OS X, no question about it.. But I have a problem I don't have a Mac Computer.
I have a Intel Dual-Core PC, running XP. Snow Leopard its for Intel, but for Intel Mac computers, right?.
If I manage to install Mac OS X Snow Leopard in my Notebook.
Do you think I can still install and do programming for Iphone, as well in a Mac Computer?
There will be any problems in the programming or debugging?
And there is another thing.. I don't have an iphone. That will may be a problem right?
Yes, as long as you got it installed correctly and it worked well with your hardware (drivers working correctly and hardware properly identified). http://osx86.thefreesuite.com/ If you are doing iPhone development, you need to pay special attention to making sure your USB drivers are working well to. This and other driver/hardware issues may give a headache trying to get things to not only work, but work well and properly.
That is not the easiest task though and can be a real pain in the anatomy. A used cheap intel mac is the way to go to get started. (mini, imac). Just make sure it is an intel mac.
If you dont have an iphone, then you would just use the simulator for all your testing. This is not ideal though as you could not test your app properly. You also cannot use all iphone features in the simulator. It can only simulate so much.
For more info on limitations of simulator. http://trailsinthesand.com/iphone-sdk-simulator-limitations/
Here is a discussion on why the mini is a good choice: Will a Mac Mini suffice for an iPhone Development machine?
Discussion on developing with Ipod Touch vs. Iphone for the Iphone: iPod Touch compared to iPhone as development platform for iPhone apps
And a question over at serverfault about os x install on pc: https://serverfault.com/questions/38496/mac-os-x-install-on-pc-hard-drive/38498#38498
This isn't the place, but providing you get OSX running then:
You need stable USB support for your MB
You might need to mix-up OSX and Darwin/Mach to get full hardware support
The iPhone emulator may well include hardware-checking code
It is cheaper to buy a second hand mac-mini
The questions already been answered but I want to add this to the overall topic.
I specifically bought a Mac to develop iPhone applications. What this single task opened up is far beyond what I was expecting. To list a few things:
I'm extremely impressed with the hardware. No hardware vendor competes with Mac's hardware from what I can tell.
The OS is sweet. I can't list all of the details but the virtual desktops alone is wonderful. Check out the Wikipedia page: http://en.wikipedia.org/wiki/Mac_OS_X
I run Windows Vista from VirtualBox and it works great.
Objective-C -- A very nice programming language; I which I could use it more on windows.
All in all, I can literally get rid of all of my non-apple hardware and run Mac OS X and Vista from the Mac hardware and everything would be great.
My point is, the Mac is worth the price.
Buying a $999 Mac may not be such a bad idea...
And please note, running the Mac OS on a non apple computer is technically a license violation. I don't agree it should be, but it technically is.
UPDATE: You said that you want to see how it is done. You don't need a Mac (or the OS) assuming that you don't want to compile and run programs. Visit the iPhone Developer page at apple. You can get some free samples just by doing the basic free registration (don't sign up for the paid one).
From there, you should be able to download a few samples and look though the source code. You won't be able to view Interface Builder files, but this would at least give you some idea of the Objective-C code.
You can further gather more information online by going to websites like:
iPhone Development Blog
iPhone Development
iPhone Development Bits
There's a commercial environment which allows to develop iPhone applications directly from a Windows machine. You might want to give it a look instead of going through the huge and illegal hassle of setting up a hacked version of OS X on your PC.
http://www.dragonfiresdk.com/index.htm
It was released recently and they claim that some applications produced with it have already been approved for release in the App Store.
From http://daringfireball.net/linked/2010/06/15/dragonfire-sdk :
Their pitch: write iPhone apps using C and C++ on Windows, using Visual Studio, using Zimusoft’s SDK and their own iPhone Simulator. Then you upload your project to Zimusoft’s servers, where they take the project and compile it using an actual Mac and Xcode. You can then submit the resulting “real” binary to the App Store yourself, or let Zimusoft publish it to the App Store themselves.
Try Hackint0sh VM-ware torrents, I haven't had any luck so I bought a iMac instead but I hear that this is an option.
For first testings and learning the language and the concepts this should work. Maybe you are even able to install mac os into a vmware or virtualbox virtualmachine don't know which program applies for your operating system. You should be able to run Xcode and the Simulator and learn all the basics.
But if you want to develop serious Iphone apps I think you need an Iphone because getting a feeling for performance, User Interaction with the touch screen and so on can only be tested on the device itself.
And by the way I think this the perfectly right place for this question.
Agreed with most of the above points.
Mac mini's have gotten cheaper as of late especially if you buy a used one. Think of it this way if you buy a mac mini your first goal as an app developer is to release a paid app that will pay for your mac mini. Making money on the app store is NOT rocket science. It just takes a decent product and some common sense.
Another solution instead of getting an iPhone is to get an iPod touch. It will gives you 80% of the iPhone functionality for development testing and you won't have to sign up for the monthly plan.
FYI if you want to build for Blackberry up until recently it was hard to do without Windows so its not as if Apple is the only one that forces you into certain hardware/software combos to build for their platform. If you want to build for Windows you need to run Windows.