iPhone development on PC: Best Option? - iphone

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.

Related

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 SDK on Windows (alternative solutions)

I know there is no official SDK for Windows, which is very annoying. Is there any way to develop applications on a Windows computer, other than somehow running a Mac OS in VMware? I know you can do it with Xcode, but that is also only for Mac OS X. Google searches have revealed absolutely nothing.
If I cannot use the SDK or Xcode, is there any way I can just check syntax or something and just make my code in Notepad and save it with the proper extension? I have no idea whether or not I would be able to do that, probably because I have never even tried the SDK and probably never will without buying a Mac.
I looked into this before buying a Mac Mini. The answer is, essentially, no. You pretty much have to buy a Leopard Mac to do iPhone SDK development for apps that run on non-jailbroken iPhones.
Not that it's 100% impossible, but it's 99.99% unreasonable. Like changing light bulbs with your feet.
Not only do you have to be in Xcode, but you have to get certificates into the Keychain manager to be able to have Xcode and the iPhone communicate. And you have to set all kinds of setting in Xcode just right.
You could easily build an app using PhoneGap or Appcelerators Titanium Mobile.
Both of these essentially act as a WebKit wrapper, so you can build your application with HTML/CSS/JavaScript. It's a pretty portable solution, too, but you are somewhat limited in what you can make - i.e, no intensive rendering or anything. It really all depends on what you're looking to do.
You could do what saurik of Cydia does, and write your code on a PC then build it on the iPhone itself (it is a Mac, technically!) after you jailbreak it. However, you don't get Interface Builder, so you're basically creating UIs in code by hand. It'd also be pretty tough to actually submit your app without a Mac.
No, you must have an Intel Mac of some sort. I went to Best Buy and got a 24" iMac with 4G RAM for $1499 using their 18 month no interest promotion. I pay a minimum payment of something like $16 a month. As long as I pay the entire thing off within 18 months - no interest. That was the only way I was getting into iPhone development.
There is another solution if you want to develop in C/C++. http://www.DragonFireSDK.com will allow you to build iPhone applications in Visual Studio on Windows. It's worth a look-see for sure.
Technically you can write code in a .NET language and use the Mono Framework (http://www.mono-project.com/) to run it on the iPhone. I haven't ever seen someone do this from scratch, but the folks that write the Unity Game Development platform (http://unity3d.com/) use it to make their games iPhone-compatible. The game itself is written in .NET, and then they provide an iPhone shell with the Mono frameworks that allows everything to run on the iPhone. I don't know whether they've contributed all of their modifications to Mono back to the open-source repository, but if you're serious about writing iPhone apps outside the Mac environment, it might be possible.
That said, I think you could dump weeks into getting that to work, and it might be best to invest in a Mac instead :-)
This really comes down to how much you value your time. As the other posters have mentioned, there are a couple of ways you can build iPhone apps without a Mac. However, you are jumping through serious hoops, and it'll be much more difficult and take longer than it would with the proper development chain.
You can buy a second-hand Mac Mini for a couple of hundred bucks on eBay. If you're serious about doing iPhone development you'll make this back in saved time very quickly.
No one has brought up the hackintosh. If you have supported hardware it might be the best option.
There are two ways:
If you are patient (requires Ubuntu corral pc and Android SDK and some heavy terminal work to get it all set up). See Using the 3.0 SDK without paying for the priviledge.
If you are immoral (requires Mac OS X Leopard and virtualization, both only obtainable through great expense or pirating) - remove space from the following link.
htt p://iphonewo rld. codinghut.com /2009/07/using-the-3-0-sdk-without-paying-for-the-priviledge/
I use the Ubuntu method myself.
http://maniacdev.com/2010/01/iphone-development-windows-options-available/
check this website they have shown many solutions .
Phonegap
Titanium etc.

Success with OS X and Vmware for iPhone development?

After trying and failing to get my hands on a temporary Mac to develop an iPhone app for a client, I've started to look into VMware Workstation to virtualize OS X. I was wondering if there are any gotchas that people have found, or if the whole thing is unworkable.
For the record, I have an old stripey-Apple logo I pried off my old Apple IIe and am affixing to the lid of my dev laptop so that I'm complying with the spirit of the OS X EULA.
Some of my coworkers have tried the VMWare approach with OSX and have, for the most part, failed. I know there are some VMWare images floating around on the internets, but I wouldn't recommend using any of those.
Also to Bruce's point, the OSX86 project has made some great progress lately. I was able to get OSX running on an old Dell I have laying around. The thing ran fine as a media server until I made the mistake of downloading a patch, and then the thing died.
As Bruce stated a Mac Mini would be a good investment at $500, or better yet, check out eBay. Pick up something on eBay and at the end of your job you can sell it back on eBay or keep it. If your really tight on your budget you can look for a G4 Mac and do development on that, sans support for the iPhone simulator. I picked up a 2 G4 Macs for $80 a piece and sold one for $120.
Bottom line is if your thinking of getting into iPhone development make a small investment on a Mini or a used Intel Mac on eBay. If your successful in you development efforts your investment will pay off.
Good luck.
Edit: Though development on a G4/PPC mac is not supported it is doable. Here is a link outlining how to get it working.
http://3by9.com/85/
Prepare for an onslaught of replies on the EULA.
Technically your best resource would be the OSx86 website which is here http://wiki.osx86project.org/.
And their page on virtualisation is here
http://wiki.osx86project.org/wiki/index.php/Virtualization
Importantly though, developing for the Mac and iPhone are very similar, and if you are serious about doing good developmenet for your clients you should probably invest in a mac mini at the least, which is less than $500US more than just buying the OS by itself.
That's the old rainbow logo from the IIe, right? Die-hards have the white Apple sticker that comes with every real Mac. Real die-hards have the white Apple sticker they surreptitiously peeled off their nephew's toy truck.
Cheapest option is probably to partition your hard-drive and install hackintosh:
http://www.wired.com/gadgetlab/2009/05/eight-months-with-a-hackintosh-netbook-conclusion-fantastic/
But if every time you build your app in XCode it takes long enough to catch a sitcom on TV, don't come crying here :-)
I have a friend who's successfully installed 10.5.7 on a his Dell laptop using a distro of OSx86. He's got the developer tools and the iPhone simulator working, and he can compile his app. He can't find a USB driver for his hardware, though - so he hasn't been able to install his app on a device.
Honestly though - I think he's spent about 20 hours getting things setup, finding drivers, etc... We all thought he was crazy until he actually got the dev tools installed. I'd really try hard to get my hands on a Mac Mini before going through all the hassle.
But the Apple logo transplant... pure genius.
Obvious legalities aside, in my experience OS X performs very poorly in a VM. Installing OS X natively on your PC is possible if you have patience, and happen to have compatible hardware. I can't honestly recommend this approach however, unless you're a glutton for punishment, or would like to hearken back to those golden days when installing Linux with support for all your hardware was actually a small triumph in itself.
As others have mentioned, if you are serious about iPhone development, you're going to save yourself a lot of hassle by getting yourself a secondhand or refurbished Mac mini.

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.

iPhone development on Linux, Windows

I'm buying a mac in a month or so but could like to start working on an Iphone app before I actually get my mac. Is this possible on xp or ubuntu? I know that I won't be able to compile it or test it for the iPhone to I get my mac but maybe I can get alot of my upfront work out of the way.
If you're brave you can turn your PC into a hackintosh and dual-boot into Leopard. I did this for several months for iPhone development before getting a Mac.
Yes, you can use VMWare to run MacOS X. I'm not going to link to any sites but there are a number of downloads available for a hacked OSX image for VMWare.
You can do a Hackintosh but beware:
Apple can and does force iPhone devs to update to the latest OS to handle the latest iPhone SDK. Your hackintosh will lag official OS updates by several weeks or months, until Kalyway team (or whomever) gets it working and stable. So effectively you are locked into older firmware development when this happens.
Hackintoshes are notorious for suddenly not working, and not BOOTING at all because of some internal tweak you made when you installed something. Not yours of course, you are awesome and would of course keep a complete backup of your entire OS partition at all times to handle this. It's a PITA.
It takes some doing to install Mac OS X on commodity hardware. It's a pain in the ass and took me like 20 installs of the OS to get right. You of course are awesome and would do it much more quickly and with less headaches.
Hackintoshes (and PCs in general) are LOUD. Gamer-spec fans and so forth are loud, compared to my Mac Pro, which sits here silent as the grave. It's not that big a deal but it really got on my nerves how loud my machine was.
In short, you can do it, but it's hardly worth the effort. You do get a charge when you've got it booting into OS X the first time though, which is kind of neat. But for serious production use? Get a Mac Mini for 500 bucks and get to work. If you're like me your time is more valuable than the small amount you will pay for a real Mac.
Don't think so. Maybe you could build a hackintosh.
I've heard from someone at our cocoaheads that they managed to find a VMWare image for OS X