Beginner iPhone/iPad app question - iphone

I am a beginner in iPhone and iPad apps and wanted to learn to code(guessing they are here to stay for another 4years least)..
I run a Win 7 PC with dual core. I didnt want to change OS to mac just for this as my games may not work in MAC :( lol
So i came across Dragon Fire SDK. Is this correct way to do it on windows.
Will i get all functions to learn.
Can i distribute it via app store? i.e it should work in normal iPhone and not in jailbreak ones.
So before i begin i wanted to ask if this way is ok. I know installing it on a MAC is 100% ok
But i wanted to know if this way is fine to go ahead with and develop some apps for the iPhone without any worries about this being fake

(paraphrasing) Is this a fine way to develop apps?
Define "fine". You probably can get an app in the app store* but it's not the best way, and could potentially backfire.
I strongly recommend getting a Mac if you want to develop iPhone apps, for a few reasons:
There is an enormous community to leverage. There are tons of tutorials, books, and helpful folks on SO and Apple forums that can help you if you get stuck.
New features come out all the time (for example, the iOS 5 beta was released on Monday) and you'll have access to features in the latest beta SDKs immediately. Third-party tools have to play catch-up.
Xcode 4 is a pretty awesome upgrade from previous versions, and I dare say it's a joy to work with now. But to make this point more objective, let's just say "There is very good tooling support"
It's the recommended way from Apple, and they could decide to reject your app because it wasn't written in Objective-C (they did add a clause in their dev agreement to that effect, but I think it has been removed)
*I have nothing to base this on, except Dragon Fire's website.

Related

iOS development on Windows [duplicate]

This question already has answers here:
Closed 10 years ago.
Possible Duplicate:
How can I develop for iPhone using a Windows development machine?
I've read a lot of questions and answers about developing iOS apps on Windows:
iPhone development on Windows
How can I develop for iPhone using a Windows development machine?
But most of the ways to accomplish this is because the people with this problem (make ios apps on windows) want to make apps for themselves. Also, some of them suggest web apps.
I'm working for a company who needs to make a little App (later other companies will need more) and the person who is in charge of all about IT told us that we need some facts so we can demonstrate that we really need a Mac for developing apps for iOS legally.
First, I don't know if all that says on this page would be enough https://developer.apple.com/support/ios/ios-dev-center.html
To develop with the iOS SDK and Xcode, you must have an Intel-based Mac
running Mac OS X Snow Leopard or later and you must be registered as
an Apple Developer.
Now I have some questions:
Is there a legal way for a company to make iOS apps on Windows?
If one of those ways is running OS X under a Virtual Machine... Is it possible to do it with OS X Lion USB Thumb Drive?
I know there are some SDK such as Marmalade, Corona, DragonFire... and they give us licenses but are they 100% reliable? Would apple give us support if we use one of these SDK?
Does Apple check if the app was created over a legal OS X copy? I mean, when the code is compiled, is there a sign so Apple can check that the app was made without cheating?
Creating games on OS X (VM) would be hard?
In the case we get the Mac (mini)... Would we need the Magic Touch or Magic Trackpad to test multi-touch? Or is only possible doing it by pressing one of the keys plus the left click?
Creating Web Apps would be a solution? I know that we can't use the Camera of the device using Javascript but is the rest ok?.
Testing
Some of our co-workers have iTouchs but we don't know if the company should buy a new one. Also, Would you suggest to get the oldest generation of iPod Touch for testing purposes or only the 3rd and 4th generation?
I hope you could understand me. Thanks in advance!
Update:
I got this answers:
You will work over Windows with the respectively SDK
Me: I know there isn't an official SDK for developing iOS apps on Windows from Apple.
The programming language that we will use is the same it would be install on a PC or MAC.
Me: Impossible?
Update
We got the Mac. ":D"
While there are things like FlashBuilder, these solutions don't provide the performance or flexibility of an actual native application. As for virtualizing OS X, this is not an option. The EULA for all versions of OS X specifically prohibit hardware virtualization (though I believe Lion allows for it but only when running directly on genuine Apple hardware. In other words, there is no way to run OS X on any computer other than a Mac without violating the EULA.
I dont have a Mac, but i setup a hackintosh (MacOSX running in pc) by following guide from this blog http://tonymacx86.blogspot.com/. If your pc spec is compatible, the Mac OSX will running flawlessly, just like in normal Mac.
Since you ask this question, I assume you dont want to fork a money to buy Mac, so setup a hackintosh machine is the best option for you. You just need to spend some money for buying legal copy of Mac OSX. Yeah I also setup the hackintosh in order to develop iphone apps on a pc.
Although there are always hacks and work-arounds you'll need a Mac for any serious iOS development. You can pick up a Mac Mini for under $1000, I'd be surprised if you could setup a Windows machine that could build iOS Apps for fewer than $1000 worth of man-hours... plus you'd probably end up having to constantly tinker to keep it working.
AFAIK, Mac OS X doesn't reliably run in a VM on a Windows Machine, but that could have changed since I last checked.
Most of the cross-platform development tools fall back to HTML/Javascript-based technology that is run in an embedded browser and packaged with a custom tool, I'd tend to avoid those as the Apps that they produce will not feel native.
I don't believe that Apple checks to see where the code was built. Adobe's FlashBuilder can export to an iOS binary, those Apps are accepted by Apple.
Creating them shouldn't be hard... testing them may be a little slow, but you'll definitely want to test on real hardware early and often.
If you get the Mac Mini you may hold option and click to simulate a dual touch in the iPhone simulator, but for more significant multi-touch testing you'll need to target a real device.
Depending on your goals, a web app may be a good solution. You'll potentially lose some performance, and some control, but you may not need all that much to accomplish your task.
My personal experience with IT has always been like pulling teeth to get them to allow/support any Apple product. Don't let them talk you into some patch work alternate system for making apps. Straight up OSX is far and away the best way to go, especially since you guys are talking about doing more later. Do it right from the start.
Now with adobe flashbuilder you can make iphone apps through windows http://www.adobe.com/devnet/air/articles/packaging-air-apps-ios.html it would all be coded in actionscript just like flash however looks pretty much alike. Personally I have never used it, i own a mac, but my school does cheers
Also I know you can put apps from this builder right into the app store just like the OS X process
You cant put it directly on a thumbdrive because OS X boots differently, you would need to install a new boot loader on you computer, but it can be done, look up Hackintosh
Finally , you do not need the magic touch pad, it is not possible to do multitouch while running on the simulator via OS X, you must put the app on your phone to test multitouch
Is there a legal way for a company to make iOS apps on Windows?
My advice is to try as hard as possible to get an Mac.
But just to provide another alternative :
Try Phonegap. It's basically a HTML5 wrapper, mainly used by app that needs to be published in multiple type of devices. However it also able to access native resource like camera and storage, which you can see in their feature page.
If your concern is more into development machine, by using Phonegap you can develop an app in any OS. You don't need to buy multiple mac for all the developer.
PhoneGap also have a service called PhoneGap build which is actually a cloud service that able to build your code to multiple platforms, including Iphone. This is legal and you can publish it App store.
If one of those ways is running OS X under a Virtual Machine... Is
it possible to do it with OS X Lion USB Thumb Drive?
No, You can only run OSX virtual Machine in OSX also.
Creating games on OS X (VM) would be hard?
It depends on the developer. But since the game should be tested in emulator, your question is not that relevant.
In the case we get the Mac (mini)... Would we need the Magic Touch or Magic Trackpad to test multi-touch? Or is only possible doing it by pressing one of the keys plus the left click?
Xcode Emulator able to simulate that. Read this blog
Creating Web Apps would be a solution? I know that we can't use the
Camera of the device using Javascript but is the rest ok?
If you are using PhoneGap, it's basically web apps wrapped by native. It's still give you access to resource like Camera, Compass, Storage etc.
Would you suggest to get the oldest generation of iPod Touch for
testing purposes or only the 3rd and 4th generation?
The iOS 5 SDK has many new features that make app development easier. By the time your app is ready for release, most users will have moved on to iOS 5. It is my understanding that iOS 5 does not support 3rd-gen devices, so there's no point in obtaining those if you're going to use SDK 5.

What will I need to start developing for iPhones?

I currently have Delphi 2010 and have just recently got an iPhone (5 days ago) which is my first ever venture into the Mac world. I absolutely love it btw - it has changed my life already.
If this should be posted somewhere else then I apologise and will do what is required to keep this question open, as I really need advice from you guys...
My Question/s
I want to begin developing for the iPhone but I am not sure where to begin and what I would need, ok I know that I would definitely need Delphi XE2! so that is one prerequisite and as mentioned above I already have an iPhone but what else would I need?
Would I actually need a physical Mac machine? and a developers account? I have looked on the Apple site and believe that I can sign up for one for free yet I have also read that it would cost $99 per year.
It would be ideal for someone here that already develops for iPhones to list all the prerequisites that I would need to begin this. I think this will be an expensive foray so I really want to get things right in my mind before I totally commit and invest real hard time and money that could lead me to go more grey ;) I have 3 grey hairs atm and I really want to try and minimise that!
The FireMonkey Development Setup for iOS spells things out pretty well. You obviously need a Mac in order to develop for iOS or OS X; you can compile OS X applications in the XE2 IDE, but you can't run them to test or debug without a Mac.
iOS development requires a Mac, as it requires XCode (which is Mac only); it also requires the Free Pascal compiler and some of the units it provides for iOS. You also require the Apple developer's account you mention (and indeed, it costs $99.00 a year).
This article discusses how to use Delphi XE2 for iOS development.
You can do the development in Delphi XE2, but you will need Xcode, a Mac, and a paid developer account to test on a device and to deploy to the App Store.
-- Updated ---
So for your first you have to own an Mac machine then you will need the dev account to deploy to iPhone as it should be compiled over a Mac OS X and deployed over the app store.
I recomend you to try it before put it on production, try xcode to so you can see the main diferences.

how to develop apps for iPhone or iPad in Linux Environment? [duplicate]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 7 years ago.
Improve this question
I've heard that you need to get a Mac if you want to develop iPhone apps. Is this true?
Is it possible to develop iPhone apps using Linux? If yes, what do I need and where do I download the necessary tools?
To provide a differing response, I'm running OS X and Xcode on a virtualised (VMware) machine on Linux. CPU is a Core2Quad (Q8800), and it is perfectly fast. I found a prebuilt VM online (I'll leave it to you to find)
Xcode/iPhone development works perfectly, as does debugging via USB to the phone itself.
It actually surprised me a lot - but I've had no issues at all.
The answer to this really depends on whether or not you want to develop apps that are then distributed through the iPhone store. If you don't, and don't mind developing for the "jailbroken" iPhone crowd - then it's possible to develop from Linux.
Check this chap's page for a comprehensive (if a little complex) guide on what to do :
http://www.saurik.com/id/4
It seems to be true so far. The only SDK available from Apple only targets the macOS environment. I've been upset about that, but I'm looking into buying a mac now, just to do iPhone development. I really dislike what they are doing, and I hope a good SDK come out for other environments, such as Linux and Windows.
Obstacles regarding the SDK:
The iPhone SDK and free software: not a match
Apple's recently released a software development kit (SDK) for the iPhone, but if you were hoping to port or develop original open source software with it, the news isn't good. Code signing and nondisclosure conditions make free software a no-go.
The SDK itself is a free download, with which you can write programs and run them on a software simulator. But in order to actually release software you've written, you must enroll in the iPhone Developer Program -- a step separate from downloading the SDK, and one that requires Apple's approval.
I think it's rather elitist for them to think only macOS users are good enough to write programs for their phone, and the fact you need to buy a $100 license if you want to publish your stuff, really makes it more difficult for the hobbyist programmer. Though, if that's what you need to do, I'm planning on jumping through their hoops; I'd really like to get some stuff developed on my iPhone.
There used to be a project dedicated to solve this defect: iphone-dev
The goal of the iphone-dev project is to create a free, portable, high quality toolchain to enable development for the Apple iPhone and other embedded devices based on the ARM/Darwin platform.
Regarding the alternative tool chain, Saurik's site is useful but for latest firmware development he indicates building on the iPhone itself and stays clear of indicating that you may need to copy necessary iPhone firmware files to your Linux environment. It's not impossible, but just requires additional work, especially for signing the code (there are open alternative solutions out there as well).
Also, take a look at other guides (for the same tool chain) that approach it more methodically.
I'd suggest to still do the final build and code signing and packaging in XCode (which may mean borrowing someone's Mac) in case you run into problems when submitting the application to Apple. Using the alternative tool chain opens up (at least on the Mac) the possibility of using other IDEs other than XCode for developing the application and again resorting to XCode for the deployment and testing with the simulator.
Of course if you do get the code signing / certificate generation working from the command line outside of XCode then you can install a certificate on your actual iPhone and test there (installing the app via iTunes w/your certificate).
The only way I know of doing development in Linux for the iPhone would be to install Vmware and work on getting OS X running in a virtual machine. With that said there are some "legal" concerns in doing that. It is reported that OS X Server can be virtualized but as far as the development story on that I don't know.
If you are truly serious, that's the what I'd investigate.
Good luck.
You can use Tersus (open source), and it lets you export the app as an Xcode project.
You might be able to write code on a Linux box that will eventually find itself on an iPhone or iPad, but ultimately you would need a Mac to test or deploy the code to the iPhone or to submit it to the App store. So ultimately you need a Mac, so you might as well do the work on the Mac too, with all the tools that Apple provide. There are alternatives to Xcode & Objective-C, such as Monotouch - but these utilize the Apple tools too.
You can with some work run OS X in a VM on Linux. However I should point out that this will break the OSX license agreement, even if you buy the copy of OSX - as it is only licensed to run on Apple hardware.
Sorry to give you this news - the ecosystem around the iPhone/iPad is very tightly controlled.
EDIT: One major exception to this is writing a web app for the iPhone. There are some excellent web apps for the iPhone which are almost as good as user experience as a native app. However I did interpret your question to be about native app development. Web apps, although the user can create an icon for launching them - are still 'second class' citizens.
I've had success building iOS apps on linux using the iOS clang toolchain by cjacker. Basically it consists of the upstream clang and llvm tools from your linux distro, a linux port of apple's linker and some extra tools to help simplify the build process (such as converting xcode projects to Makefile format).
It does take a few steps to install, but you're a software developer so you'd be used to that. I posted an up to date howto for Debian 7 (Wheezy) online:
https://rogerkeays.com/how-to-build-an-ios-toolchain-for-linux-debian-7
Otherwise you want to go with the generic instructions which are a little older:
http://code.google.com/p/ios-toolchain-based-on-clang-for-linux/wiki/HowTo_en
Good luck.
There's a framework called Rhodes.
The concept is based on Ruby on Rails and you develop your mobile app in Ruby and HTML, and you can write your code in a Linux environment. You can then create an account at Rhohub, where you add the code (through GitHub), and it allows you to compile it for iPhone, Blackberry, Android, Windows Mobile and Symbian, all off the same code. You don't have to code in Objective-C for iPhone, nor Java for Android, etc. It does the conversions for you. All you need to do is stick to the Rules for creating an iPhone application (or the Phone's you want to develop for) so it can be accepted at iTunes (or the equivalent market).
This will allow you to add the app to iTunes as well.
I have not found any emulators, however, which means that to test your app you need to put it on an iPhone, which is a mission.
I am using this option as I want to create apps for all phones and I use Ruby on Rails already. If you just want to make an app for an iPhone, then invest in a Mac.
Hope this helps.
You're right non-jailbroken phones are limited to Apple's App store and Apple "has the right" to enforce whatever rule, it's totally nonfree territory.
However while developing, one won't have to deal with Apple at all. You can use e.g. rsync to upload the code to the device and test it.
To a certain extent, yes, it is possible. You can type Objective-C code and set up your projects. You can even test the C and C++ parts of your code with gcc.
What you cannot do:
Use Interface Builder to set up your interface, as it's Mac-only. (Not required, but recommended.)
Compile code that uses Apple's Cocoa classes - they don't exist on Linux.
Test code in the Simulator - there isn't one for Linux.
Compile code for real devices or for the App Store - all this requires tools that Apple only provides for OS X.
You need to get mac for it. There are several tool chains available (like win-chain) that actually lets you write and build i Phone applications on windows. There are several associated tutorials to build the Objective C code on Windows. But there is a problem, the apps hence developed will work on Jail broken i Phones only.
We’ve seen few hacks to get over that and make it to App Store, but as Apple keeps on updating SDKs, tool chains need regular updates. It’s a hassle to make it up all the time.If you want to get ready app you can also take help from arcapps its launches apps at a reasonable price.
iphone app development
I did an attempt to port cocos2d-iphone to GNUstep so that you can Develop game based on cocos2d. However for publishing you need a mac. cocos2d-GNUstep.
I would recommend getting a mac because the ios simulator is amazing for testing in the early stages of an app. But I do know of a small company we work with that develops using Unity so they don't need a load of macs. That way they only need one mac for the office and that's just to compile the final build. It also means it works on android but it really depends on what your building because it's a games engine. You may want to look into web apps using frameworks like Sencha Touch Mobile
Unity: http://unity3d.com/
Sencha Touch: http://www.sencha.com/products/touch/
If you value your time, buy a Mac! I don't know enough about Linux development options to offer a viable solution, but it seems the proposed methods involve some pretty roundabout work. If you plan on seriously writing and selling iPhone apps, I think you could easily recoup the cost of a Mac Mini or Macbook. :-)
You will never get your app approved by Apple if it is not developed using Xcode. Never. And if you do hack the SDK to develop on Linux and Apple finds out, don't be surprised when you are served. I am a member of the ADC and the iPhone developer program. Trust, Apple is VERY serious about this.
Don't take the risk, Buy a Macbook or Mac mini (yes a mini can run Xcode - though slowly - boost the RAM if you go with the mini). Also, while I've seen OS X hacked to run on VMware I've never seen anyone running Xcode on VM. So good luck. And I'd check the EULA before you go through the trouble.
PS: After reading the above, yes I agree If you do hack the SDK and develop on Linux at least do the final packaging on a Mac. And submit it via a Mac. Apple doesn't run through the code line by line so i doubt they'd catch that. But man, that's a lot of if's and work. Be fun to do though. :)

Iphone apps development [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 1 year ago.
Improve this question
I'm very keen to learn Iphone apps development. Can you experts give me some tips as to which programing tool I should learn? tools I should install [of course , I prefer free tools]?, operating system I need? [I only have windows xp and unix flavours on my Personal laptop]. Do I need to have Iphone to test my apps? [poor guy, I don't own a Iphone].
Thanks to all who responded , every message seems very informative and useful (+1 to all), I will go through each and every suggestion
You need to learn Objective C, you'll need XCode, and you will use Mac OS X (on a Macintosh) and you'll need the iPhone SDK.
You can test with the iPhone simulator.
This will get you started using the tools, etc.
Stanford has put out an online course on iPhone development. It is free from iTunes, and will take you through basic Objective-C and iPhone concepts. Link:
http://itunes.stanford.edu/
tools I should install [of course , I prefer free tools]?,
Xcode is free (as in beer). But to actually deploy apps on the device you need to pay $99/yr to Apple to enroll in the iPhone dev program.
operating system I need? [I only have windows xp and unix flavours on my Personal laptop].
You need Mac OS X 10.6.
Do I need to have Iphone to test my apps? [poor guy, I don't own a Iphone].
Buy an iPod Touch then. The iPhone Simulator accompanying with the iPhone SDK may work, but won't reflect the true performance on the device.
There are also alternatives such as MonoTouch which works outside of Mac OS X, but is recently banned.
You can also jailbreak the device to avoid the need to enroll in the iPhone dev program just to test on the device. But to submit to AppStore you still need that $99.
Unfortunately, you'll have a tough time with this given your current toolchain. You definitely need a Mac (or a Hackintosh, which is still not cheap), and you really ought to have an iPhone to do development. (There is a simulator, and you can run your apps on it, but it isn't nearly as capable as a phone and doesn't give you the ability to test for things like slow network/no network connection for performance. The multi-touch is also not as capable as the real thing; if I remember correctly the phone can handle 5 touch-points while the sim can handle 2.)
This is one downside to development on the iPhone; the startup cost is somewhat prohibitive compared to Android. However, you have a massive market with the iPhone and it's about the greatest user experience in the smartphone market right now. You can read more about it from Apple, searching Google, and there are loads of books like this.
If u dont have an MAC u could use a Virtual PC with MAC OS X on it.
and i would pref you to give this little Virtual PC around 2-4 Gig of Ram for stable and fast working.
im using VMWare and it works well :)
Xcode, Apple's coding environment, as well as the whole suite of development tools, are free from their website with a simple sign-up. These are only for OS X though. Here they are.
It may be hard to develop without Mac or at least Mac OS X. (I'm not sure you can install that on a PC... Perhaps I'm wrong though)
I'm also a "beginner". I would like to recommend this book:
Kochan - Programming in Objective-C 2.0 2e
Its a good book with clear examples, and for me very fast to understand. After that this video tutorial:
iPhone SDK Essential Training from Lynda.com
And of course you need a mac, and a devellopment licence if you want to test on your device.
Technically speaking you don't need to program in Objective-C. The new NDA for section 3.3.1 for the SDK might force you though. Otherwise you can use tools like Unity3D and Corona. If you are developing games that is. With Unity3D you could actually start development on a PC, and get a Mac and iPhone later and target the app for iPhone.
Things like Unity3D and Corona gives you their own IDE's and tools package. They are considerably easier to use for creating games than Apple's SDK. And allow you to use simple scripting languages. However for regular App development I think nothing beats xCode and Objective-C.
There's a lot of books out there for iPhone development, but you don't even need to buy one to get started. The Apple Developer sites iPhone Dev Center contains both reference material, and Getting Started guides, including coverage of Objective-C and some Mac development fundamentals like Cocoa and Foundation, which will come in handy on the iPhone OS too.
If you already know Objective-C, the Head First iPhone Development book is a great read that gets you writing concrete apps quickly, although it's not suitable for someone new to programming in general. For a more thorough and comprehensive start, you might want to check out Apress' books, including 'Beginning iPhone 3 Development' and 'Lean Objective-C on the Mac'.
To learn iPhone app Development you must have strong command over Objective –C and C/C++. Cocoa Touch is the programming framework driving user interaction on iOS. Also Xcode and the iOS SDK are available together as a free download on the Mac App Store. With the help of which you can start to learn iPhone app development. If you will face any problem or get strut anywhere you can search tutorials available on the web. You problem will definitely get solved.
For sure you need to have a Mac, and I think you really ought to have an iPhone to do the development. Of course you can find a simulator, but it won’t reflect the true performance on the device.
What about tools you need to install an Xcode which is free (to download it you can from Apple’s website). But, to actually deploy the app as far as I know you will have to pay $99/yr to Apple to enroll in its developers’ program.
If you're still exciting about creating your iOS apps, teamtreehouse.com offers nice courses where you can learn Swift and Objective C

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.