It's difficult to tell what is being asked here. This question is ambiguous, vague, incomplete, overly broad, or rhetorical and cannot be reasonably answered in its current form. For help clarifying this question so that it can be reopened, visit the help center.
Closed 11 years ago.
I am a Beginner in iPhone Development, i have worked with .net web and window applications and only used c# language.
i am planning to make simple application for iPhone. After a long searching, i came to know that xcode kit is used in development and objective c is the language used.
i am confused with many questions..please help me
These are some basic things i need to know in a beginner point of view.
What all development tools should be used?
Should i need a mac OS system to develop iPhone apps or can i use windows xp OS?
Should i need to register as iOS developer($99 a year)?
How can i test the developed app, should i need a iPhone or is there any simulator?
Is Objective c similar to c# or c++ ?
Can i develop iPhone apps in .net?
What all should i know before starting to develop an app?
Which all database can be used in iPhone apps development
Please help with your valuable answers regarding all the basics to learn iPhone development
1) What all development tools should be used?
Well you need to install xcode and iOS SDK. To get them you have download it from apple's developer website (size in GB's). To run xcode you need a MAC. You need
devices to test your app.
2) Should i need a mac OS system to develop iPhone apps or can i use windows xp OS?
You need mac. Search "iphone development on windows" on this site itself.You will get a lot of info.
3) Should i need to register as iOS developer($99 a year)?
Without registering you can
download sdk
start developement using simulator
You can't run on device or upload app to app store without registering.
4) How can i test the developed app, should i need a iPhone or is there any simulator?
Simulator is there. But never upload an app only tested in simulator. You must test on device.
5) Is Objective c similar to c# or c++ ?
I came from C/C++ background and I found objective C easy. You will take 2 to 3 days to fully understand objective C method syntax, property and synthesize,
class and object methods. The most difficult thing to learn for me was memory management. Remember there is no garbage collection in iphone, you will have to
do all memory management yourself.
EDIT: There is a change in iOS 5.0. We still don't have garbage collection. But Now we have Automatic Reference Counting (ARC), which add memory management code at compile time. We don't have to do release/autorelease code, but compiler will do it for you..
6) Can i develop iPhone apps in .net?
No, you can't.
7) What all should i know before starting to develop an app?
Basic programming concepts (OOP
concept, language you will learn
gradually)
Knowledge that you are working on an
embedded device (I know iphone is
powerful, but still it is an
embedded device, not a desktop).
Always make sure you use just enough
memory and processor for your need.
Happy coding..
welcome to the circle of iOS developers =)
To your questions:
What all development tools should be used?
Xcode provides you all you need. The IDE, the Build environment and loads of tools to analyze your code.
Should i need a mac OS system to develop iPhone apps or can i use windows xp OS?
I've heard there are also cross platform IDEs available, but I recommend to use Xcode. Xcode runs on Mac OS X – and Apple says, it only runs on Intel architecture. I've heard from some people, they managed to use Xcode on Power PC systems. In the end you will have problems to build your app on that architecture.
Should i need to register as iOS developer($99 a year)?
No need for that, if you don't want to publish your app to the app store OR test on a device. But there is also a simulator for different devices shipped with Xcode.
How can i test the developed app, should i need a iPhone or is there any simulator?
You don't need a device, but it's strongly recommended to get one. Since the simulator mentionded above uses your complete system ressources of your hosting Mac, you may take memory management too easy and explore bad surprises on a device.
Is Objective c similar to c# or c++ ?
It's not wrong to have experience with C and/or C++, the main concepts are the same. But you will see a whole new syntax which might be a little bit confusing for the first time. After you are familiar with it, you will appreciate the "speaking" method markup.
What all should i know before starting to develop an app?
You've already found stackoverflow.com for Questions and Gotchas. I recommend to get some books. Aaron Hillegass has written some nice Cocoa books. But maybe someone else can give you better recommendations.
Well, if you want to publish an app to the app store you....
1-2) DO need a MAC with XCode installed
3) if you want to publish the app on the store, yes
4) XCode + iOS SDK came with an iPhone/iPad simulator, wich works pretty well
(after obtaining a 99$ licence you can also activate some iphones to debug your app directly on the device
5) I mostly wrote app in web tecnology (have a look at PhoneGap for this) so, i cannot answer you, sry
6) If you want to create an app wich have to basically display content taken from the web
you should really consider the PhoneGap way. If you want to program something like a 3D game with hi-res animation or stuff like that you'll probably need to wrote a native (obj C-cocoa) app
Hope this helped :D
What all development tools should be used?
xcode mostly
Should i need a mac OS system to develop iPhone apps or can i use windows xp OS?
Yes
Should i need to register as iOS developer($99 a year)?
if you want to put up your apps on the appStore, then yes.
How can i test the developed app, should i need a iPhone or is there any simulator?
There is a simulator with the xcode IDE. if you want to test it on an actual device, you'll have to pay the 99$ a year
Is Objective c similar to c# or c++ ?
its a strict superset of C.
* Can i develop iPhone apps in .net?
not that i know of.
you can develop Phone apps in JavaScript using http://www.appcelerator.com/
What all should i know before starting to develop an app?
What all development tools should be used?
Apple Developer Tools, that you can find here.
Should i need a mac OS system to develop iPhone apps or can i use windows xp OS?
Definitely you need a MacOS system.
Should i need to register as iOS developer($99 a year)?
This is required in order to be able to run your app on a physical device for testing and for submitting you app to the App Store.
How can i test the developed app, should i need a iPhone or is there any simulator?
Developer Tools include an iPhone/iPad simulator. You can also run the app on a physical device.
Is Objective c similar to c# or c++ ?
Objective C is standard C with OO extensions resembling of Smalltalk.
What all should i know before starting to develop an app?
The basic things is that you will learn bit by bit all you need to know.
I would start from reading an Objective C tutorial, to have a grasp of the language.
Then you could access some of the video material that is available online. Check this and also get a look at the many introductory books available out there.
This question already has answers here:
Closed 10 years ago.
Possible Duplicate:
How can I develop for iPhone using a Windows development machine?
Does Visual Studio 2010 support iPhone Development?
I believe you can use Mono to develop for the iPhone. You can read more about this here www.mono-project.com/Mono:Iphone
This requires Static compilation, and I've heard the process is pretty difficult at this point. Here is an article that provides some details http://arstechnica.com/open-source/news/2009/01/open-source-mono-framework-brings-c-to-iphone-and-wii.ars
If you are beginning iPhone development similar to myself I'd suggest sticking with XCode and the Apple tools. Although they offer a different developer experience then we are used to from Microsoft tools, they seem to have a good helpful community around them.
Update: Mono Touch now allows you to do development using MonoDevelop and statically compile for the iPhone. Here is the link with more info http://monotouch.net/
Xcode must be used to develop for the iPhone. It is the only platform for which the iPhone SDK is available.
According to my knowlage, the iPhone SDK must be run on Mac OS system, so I dont think that
you will be able to develop using VS.
Okay, I know this post is old, but I feel as though I need to correct some things. First of all, it is entirely possible to develop for iPhone using Visual Studio 2010. The steps required to do so are long and complicated, but basically involve the following
(note: these are rough steps as I don't recall the exact commands I used to invoke these things, but I have managed to get a working ARM CortexA8 and A9 GCC compiler successfully running with the latest iOS Dev SDK on Win 7 x64 and using Visual Studio 2010)
Get Cygwin and make sure you grab the GCC compiler collection.
Get LLVM and the GCC front-end(not sure if Clang works as I haven't tried it)
Get ODCCTools.
Download the latest Xcode(from a torrent if you're on a PC). Note: Due to the fact that Xcode and the iOS SDK use various open source copyleft packages, Apple has to release the SDK to the general public for free. However, as of iOS 5, they've decided to make it so that only people using the App Store on a Mac can download it. I have attempted to contact Apple to see if they plan on releasing the various packages openly, but I haven't heard a response.
Compile LLVM
Compile ODCCTools. Note: ODCCTools requires some modifications in order for it to work with the latest LLVM GCC Front-end. I've contacted the current owner and he basically told me he is no longer supporting it.
Using the assembler and linker you just compiled from ODCCTools, recompile the GCC front-end.
At this point, you'll have a working compiler for the iOS platform using all the latest and greatest from the LLVM guys and the fixes and improvements that have been made to GCC(C++0x anyone?). Or, if you're really lazy and you don't want to go through all this hassle, you can use the compiler that is already generated from iphone-devtools. However, doing this will only give you a compiler that doesn't support the CortexA8 or A9 instruction set which means that your application will run a little slower, plus the are using an older version of GCC which means all the fixes and improvements that have been made in the last 4 years will be ignored.
All you need to do now is configure visual studio.
There are a few ways to configure visual studio to accept the new compiler you just made(or downloaded). I opted to use a python script which then generates makefiles and the various project/solution files, but you may want to choose something a little less heavyweight.
At this point, you should be able to compile for iphone, but in order to run on the iphone you need to jailbreak your phone. Jailbreaking is legal, but it does void your warranty. Once jailbroken, then you can use SSH to upload your executable to the phone and then you're done.
If you want to publish your app on the App Store, you'll still need to get a developer certificate and go through the publishing process outlined by Apple. At this point, you will need a Mac. If all you want to do is develop for the iPhone, then this will allow you to do so, but if you want to publish to the App Store, you will need a Mac.
The reason I went through the pain of doing all of this is because I have a very complicated setup for my continuous integration. I compile for 8 different target machines, 5 different configurations, and deploy and run massive amounts of unit tests. I didn't want to have to setup a different Mac box just to handle the iOS platform when I knew that I could just set it all up to run on one machine. Ultimately, trying to do iOS programming on a Win7 machine if iOS is your target platform is definitely not worth the hassle for ordinary developers.
Yes it is possible go to this link: http://www.pmbaty.com/iosbuildenv/
I don't think visual studio 2010 is supporting native iOS app development. But it is possible to write applications for ios using visual studio 2010.
As far as I am concerned, microsoft is trying to make it possible. According to my experiences of developing applications for iOS, I used mac air book, Xcode & iOS sdk for building iOS apps. The main language for building native iOS apps is objective c and the framework is cocoa touch. There is no support for these technolOgies in visual studio and .NET framework, although mono develop is trying a lot
iOS is the most advanced OS for mobile devices which is to us from Apple. According to their requirements for developing iOS apps you have to use:
Intel based mac OSX.
Ios sdk
Xcode or Dashcode.
All these are available on only apple mac. So no luck for .NET players. But you can pure c to develop ios apps on widows. Just google it.
I think it made you clear of the ios app developing processes, and it's requirement.
Thank you.
Due to the libraries used - I'm fairly sure you need to run this on a Mac OS System. You can do some basic gcc compiling using cygwin if you wanted to - but other than that I would think you'll need Mac OS
It's why most of us are stuck buying a Mac Mini - getting a putty knife and adding more RAM and then struggling to get our old LCD monitors to work
Apple supported development from within Visual Studio would be really great!
However, as far as i know Apple has absolutely no intention to release such a thing. Even the usage agreement that all iOS developers have to agree to disallows usage of the SDK on 'non-Apple branded computers'.
In my humble opinion, this is really a bad thing because it forces multi-platform applications to be developed on multiple operating systems.
Because of this, i have started implementing a Visual Studio 2010 package that allows for iOS development from within the IDE. To workaround the SDK agreement compilation is executed on a iOS powered device.
Development progress (including screenshots) can be folowed on:
http://www.petervrenken.nl/visual%20studio
Greetings,
Peter Vrenken
I think it's possible to identify a device/browser on the server side. Therefore, it should be possible to develop server-sided applications that behave like an iPhone app but run in the iPhone's Safari browser.
I could very well imagine that with VS2010 the device support is significant for the iPhone in the way that it comes with a special JavaScript Library that your Safari implicitly downloads the first time.
The Commerce Server appears to have a support like this already - good news for everybody who is not in love with Objective-C or maybe wants to minimize effort ind iPhone development
http://www.microsoft.com/downloads/details.aspx?FamilyID=2df25ab7-f38d-439e-9391-ef8f025e8064&displaylang=en
This question already has answers here:
Closed 11 years ago.
Possible Duplicate:
Starting iPhone app development in Linux?
Is there a way to use Ubuntu Linux for developing iPhone applications destined to be listed on Apples app store ?
Many of the other solutions will work, but they all make use of the open-toolchain for the iPhone SDK. So, yes, you can write software for the iPhone on other platforms... BUT...
Since you specify that you want your app to end up on the App Store, then, no, there's not really any way to do this. There's certainly no time effective way to do this. Even if you only value your own time at $20/hr, it will be far more efficient to buy a used intel Mac, and download the free SDK.
Not officially, no. It's just Objective-C though and the compiler's open source - you could probably get the headers and compile it and somehow get the binary on the device. Another option is compiling on the device. All these options will require jailbreaking though.
A Mac Mini is just $599...
There are two things I think you could try to develop iPhone applications.
You can try the Aptana mobile wep app plugin for eclipse which is nice, although still in early stage. It comes with a emulator for running the applications so this could be helpful
You can try cocoa
(Extra) Here is a nice guide I found of guy who managed to get the iPhone SDK running in ubuntu, hope this help -_-. iPhone on Ubuntu
I found one interesting site which seems pretty detailed on how you could setup a ubuntu for iPhone development. But it's a little old from November 2008 for the SDK 2.0.
Ubuntu 8.10 for iPhone open toolchain SDK2.0
The instructions also include something about the Android SDK/Emulator which you can leave out.
With some tweaking and lots of sweat, it's probably possible to get gcc to compile your Obj-C source on Ubuntu to a binary form that will be compatible with an iPhone ARM processor. But that can't really be considered "iPhone Application development" because you won't have access to all the proprietary APIs of the iPhone (all the Cocoa stuff).
Another real problem is you need to sign your apps so that they can be made available to the app store. I know of no other tool than XCode to achieve that.
Also, you won't be able to test your code, as they is no open source iPhone simulator... maybe you might pull something off with qemu, but again, lots of effort ahead for a small result.
So you might as well buy a used mac or a Mac mini as it has been mentioned previously, you'll save yourself a lot of effort.
Probably not. While I can't log into the Apple Development site, according to this post you need an intel mac platform.
http://tinleyharrier.blogspot.com/2008/03/iphone-sdk-requirements.html
It can be done!!!!!!
There is someone who did it.
Enjoy :)
There are several way to do it, may decide to go the native way by downloading a VM application for linux and the install Mac OS in your VM and then download the Xcode application for mac But the true is i tried this path but it was really long so i decide to get sencha touch and phonegap for mobile phone,here the sencha-touch is a javascript framework that will help you in developing the interfaces and the phonegap is also javascript library which will help to access the feature of your Iphone or any oher mobile platform
I'm using sencha-touch and phonegap ,its really work for me
Perhaps the best way would be to implement your app as a web app. I think you can also make web apps that run direct on the phone, without internet access or a remote server.
Web app, sounds lame? But a lot can be done with DHTML / HTML5 / JavaScript. It's a rare app that requires more power and couldn't be done as a web app. And you get pretty good cross platform with Web / JavaScript - the browsers vary a bit but a good web dev can write one web app that works pretty much everywhere.
Of course if you're writing a high-performance 3D game, the browser might not deliver what you need! maybe in a few years... Apparently some Google hackers ported Quake 2 to HTML5 already!
http://web.appstorm.net/roundups/browsers/10-html5-games-paving-the-way/
Want to improve this post? Provide detailed answers to this question, including citations and an explanation of why your answer is correct. Answers without enough detail may be edited or deleted.
Is there any way to tinker with the iPhone SDK on a Windows machine? Are there plans for an iPhone SDK version for Windows?
The only other way I can think of doing this is to run a Mac VM image on a VMWare server running on Windows, although I'm not too sure how legal this is.
It's certainly possible to develop on a Windows machine, in fact, my first application was exclusively developed on the old Dell Precision I had at the time :)
There are three routes;
Install OSx86 (aka iATKOS / Kalyway) on a second partition/disk and dual boot.
Run Mac OS X Server under VMWare (Mac OS X 10.7 (Lion) onwards, read the update below).
Use a framework and/or toolset, which allows developing on Windows, like Delphi XE4 with the mac-in-cloud service, which can build without MacOS device need. This is a commercial toolset, but the component and lib support is growing.
Other honorable mentions are Flutter, Xamarin and similar; which may at end need actual MacOS device for final build (but you can test on Android till then, as they're cross-platform).
The first route requires modifying (or using a pre-modified) image of Leopard that can be installed on a regular PC. This is not as hard as you would think, although your success/effort ratio will depend upon how closely the hardware in your PC matches that in Mac hardware - e.g. if you're running a Core 2 Duo on an Intel Motherboard, with an NVidia graphics card you are laughing. If you're running an AMD machine or something without SSE3 it gets a little more involved.
If you purchase (or already own) a version of Leopard then this is a gray area since the Leopard EULA states you may only run it on an "Apple Labeled" machine. As many point out if you stick an Apple sticker on your PC you're probably covered.
The second option is more costly. The EULA for the workstation version of Leopard prevents it from being run under emulation and as a result, there's no support in VMWare for this. Leopard server, however, CAN be run under emulation and can be used for desktop purposes. Leopard server and VMWare are expensive, however.
If you're interested in option 1) I would suggest starting at Insanelymac and reading the OSx86 sections.
I do think you should consider whether the time you will invest is going to be worth the money you will save though. It was for me because I enjoy tinkering with this type of stuff and I started during the early iPhone betas, months before their App Store became available.
Alternatively, you could pick up a low-spec Mac Mini from eBay. You don't need much horsepower to run the SDK and you can always sell it on later if you decide to stop development or buy a better Mac.
Update: You cannot create a Mac OS X Client virtual machine for OS X 10.6 and earlier. Apple does not allow these Client OSes to be virtualized. With Mac OS X 10.7 (Lion) onwards, Apple has changed its licensing agreement in regards to virtualization. Source: VMWare KnowledgeBase
Xamarin is a solid choice. It was purchased by Microsoft and is now built directly into Visual Studio. You code in C#. With all the updates and features they are adding, you can do everything but submit to the App Store from Windows, even compile, build and deploy to an iOS device.
For games, Unity 3D is a great option. The editor is free to use for development, and even for distribution (if you have less than 100K USD in annual revenue). Unity supports iOS, Android and most other platforms. It may be possible to use Unity's "Cloud Build" feature to avoid having to use a Mac for deployment, although by default Unity actually spits out an Xcode project when building for iOS.
Other options:
PhoneGap (html/javascript) also works. It isn't quite as nice for gaming, but it's pretty decent for regular GUI applications.
Flutter (dart) is a free cross platform mobile app development framework from Google. Write your code in Dart.
React Native (javascript) is another popular cross-platform framework created by Facebook.
Note that: for all of these options, all or most of the development can be done on Windows, but a MacOS device is still required to build a binary for submission to the App Store. One option is to get a cheap MAC Mini to do your final build.
If you have a jailbroken iPhone, you can install the iphone-gcc toolchain onto the iPhone through Cydia and that way you can just compilie the apps on the iPhone. Apps that are developed this way can still be submitted to the App Store.
And although Mr Valdez said it is a grey area (which it is), jailbreaking is incredibly easy and pretty much risk free. Yes, it voids your warrenty but you can just do a restore and they will never know.
Most of "so called Windows solutions for iOS development without Mac" require Mac at the end just to sign and send to app store. I checked a few, not all though (who has the time?)
At the end it's just too much trouble to learn "their super special easy way to program iOS without Objective-C", they have lots of bugs. Really the goal they are setting is unachievable in my view.
Also a lot of time they make you use Objective-C equivalent statements simply in another language. They kind of look the same but there are always subtle differences that you have to learn on top of obj-c. Which also makes even less sense, because now instead of learning less you have to learn more. So where is the gain?
Also they cost a lot, because they are very hard to develop.
Many lack any debugging abilities whatsoever.
In my honest opinion, if you are a hard-core iOS developer then for sure buy the best Mac and learn objective-c. It's expensive and takes time, but if it's your path, it's worth it.
For an occasional use, it's just easier to rent a remote Mac service, like XCodeClub.com
The SDK is only available on OS X, forcing you to use a mac. If you don't want to purchase a mac you can either run OS X on a virtual machine on your windows box, or you can install OS X on your PC.
In my experience the virtual machine solution is unusably slow (on a core2 duo laptop with 2G ram). If you feel like trying it search for the torrent. It's probably not worthwhile.
The other option is to install OS X on your PC, commonly referred to as a hackintosh. Hackintoshes work quite well - my friend just sold his mac because his Dell quad core hackintosh was actually much faster than the apple hardware (and cost about 1/3).
Of course both of these options are likely counter to some licensing scheme, so proceed at your own risk.
You can use WinChain
Quoting the project page:
It's the easiest way to build the iPhone toolchain on a Windows XP/Vista computer, which in turn, can take Objective-C source code that you write using their UIKit Headers (included with winChain) and compile it into an application that you can use on your iPhone.
You don't need to own a Mac nor do you need to learn Objective-C. You can develop in different environments and compile into Objective-C later on.
developing for the iphone and ipad by runing osx 10.6(snow leopard)
This article one of our developers wrote gives a pretty comprehensive walk through on installing OS X Snow Leopard on Windows using iBoot, then installing Vmware (with instructions), then getting your iPhone dev environment going... and a few extra juicy things. Super helpful for me.
Hope that helps. It uses Phonegap so you can develop on multiple smart phone platforms at once.
You can use Tersus (free, open source).
A devkit that allows one to develop iPhone apps in Objective-C, C++ or just plain C with Visual Studio:
Check it out at iOS build env
You can build iPhone apps directly within Visual Studio (2008, 2010, Express).
Pretty neat, it even builds IPA files for your app after a successful compilation. The code works as is on jailbroken devices, for the rest of the planet I believe the final compilation & submission to the App Store has to be done on a Mac. But still, it enables you to develop using a well-known IDE.
Of course, you can write Objective-C code in notepad or other programs and then move it to a Mac to compile.
But seriously, it depends on whether you are developing official applications to put in App Store or developing applications for jailbroken iPhone. To write official applications, Apple iPhone SDK which requires an Intel Mac seems to be the only practical way. However, there is an unofficial toolchain to write applications for jailbroken iPhones. You can run it on Linux and Windows (using Cygwin).
Try macincloud.com It allows you to rent a mac and access it through RDP remote control. You can then use your PC to access a mac and then develop your apps.
You will soon be able to use Adobe Flash CS 5 to create Apps for the iPhone on Windows:
flashcs 5
flashcs5 apps for iphone
Hooray! You can now more easily accomplish this with the latest Xamarin.iOS, using a network-linked mac providing the build and deployment capabilities.
See here for more details:
introduction to xamarin ios for visual studio
If you want it to be legitimate, you have two options, cloud based Mac solutions or cross-platform development tools.
You may consider the hackintosh approach or virtual machines if you don't care about legal stuff. If you have a decent PC, running a virtual machine would be the easiest way to go. You may never know which hardware will have driver issues on a hackintosh.
I've tried all these approaches and they all have pros and cons, but for the second group, I feel kind of guilty. I develop apps to make a living and I wouldn't want to rip off someone else for it.
If you are making a small project, cloud based Macs may prove useful. Rent it for a short time, develop your project and off you go. Don't bother learning anything new.
However, if your project is getting big, cross-platform frameworks seem to be the only alternative. The critical thing is that you need to choose wisely. There are so many hybrid frameworks, but what they do can be summarized in one sentence as "diplaying web pages in an app wrapper" and developers' negative experience with hybrid frameworks also affects native frameworks.
I tried three of these (Titanium, Smartface and Xamarin) and they all claim to produce "real native output" and in my opinion their claims are correct. You need to test and see it yoursrlf, it's not easy to describe the native feeling. In a previous comment, it was indicated that it takes some effort to learn these platforms, but once you get to know them, you can develop not just iOS applications but Android applications as well, all with the common code base. And of course, they are much cheaper than a cloud Mac. Some of them are even free. You would need a Mac only for store submission.
If you know JavaScript, try Titanium and Smartface and if you know C#, try Xamarin. Just note that for the device simuator, Titanium is dependent on a Mac, but Smartface has a simulator app for Windows development and it works better than I expected. On the other hand, Xamarin requires a Mac in your network.
If you want to create iPhone apps but no Mac, then you should try http://www.pmbaty.com/iosbuildenv/
It allows you to easily develop native iOS apps, like with XCode, deployable on any iPhone, iPod or iPad (jailbroken or not).
Use your favourite IDE to code in Objective-C, C++, C or ARM assembly, like in XCode. ARC and blocks are supported.
Compile your iPhone apps directly inside Visual Studio
It works on Windows all versions (XP, 7, 8), FreeBSD and Linux
Now with iOS8 support.
Check out this:
Over view
It is a project that attempts to be able to cross-compile programs written in a variety of source languages to a variety of target languages. One of the initial test cases was to write programs in Java and run them on an iPhone. Watching the video on the site is worthwhile.
With that said, I haven't tried it. The project seems quite beta, and there isn't a lot of activity on their SourceForge site.
You can use Intel XDK with that you can develop and publish app for iOS without mac.
Click here for detail.
Interesting that no one has mentioned the cross-platform wxWidgets option.
It's less than an optimal solution, though.
IMHO, the business-wisest way to go is to invest the money in Apple's endorsed framework. That way, if you find yourself stuck with some mind-boggling problem, you have a much larger community of developers to consult with.
YOU CAN DEVELOP IPHONE APPS ON WINDOWS PC. I've done it, with complex apps. And it works perfectly. You can develop iphone apps without ever seeing a mac or iphone.
You can develop on windows an HTML (or better: HTML5) app, using tools like Sencha or JQTouch, or mobi1. (They used to all be free for a while)
Then you use openSSL to sign the app. And Adobe PhoneGAP Build service to build IPhone App.
But you need the iphone developer licence to install it on an iphone. But you don't need a mac or iphone at any minute to compile, build or test it - all that is done ON THE PC.
I've done it, and it works perfectly. (But with Android type responsiveness - not as fast as a native IPhone app)
You could also use a program from the the Babylonian era (circa 300 bc) running C and C++ called dragonfly. If your app has one or two screens with limited interactivity, and many calculations, go for it. It includes an emulator. You compile to the iphone at the press of a button. (Not sure, but I think you do need a developers license in any case)
And then there is Xamarin. You develop in C# with special calls to native code. You'll have to learn the environment.
Oracle VirtualBox allows users to install Mac OS X in a virtual machine. If you are comfortable with it, you could just use that way to use Xcode. This is legal if you "dual boot" your mac into windows, then install the VirtualBox within windows (or linux).
Other possibilities are cross-compilers such as Appcelerator Titanium (HTML, CSS and JavaScript) or MonoTouch (.NET).
You can use Sentenza for make applications for iPhone, on Windows.
Tested with success.
It's not a solution but a good alternative !
Two other options
Titanium Developer - free community edition - write in HTML/JavaScript - compile with Xcode (requires a Mac or VM)
OpenPlus ELIPS Studio - write in Flex, compile on Xcode (requires a Mac or VM) - they just started charging for their product however.
I think there may be 'toolchain' options for these and some of the others mentioned, which allow you to compile to binary on Windows, and I have seen that you can upload a zip file and have a toolchain style compile done for you online, but this goes against the Apple licensing.
If I am not mistaken, a product such as Titanium that outputs/works with Xcode and does not use any 3rd party / alternative / restricted libraries should be in compliance, because you are ultimately compiling in xcode - normal Objective-C code and libraries.
As has been pointed you can attempt to use the WinChain but if you are a newbie coder it won't be easy.
The iPhone SDK will work on Hackintoshes (a normal PC with OS X installed on it). I know as I have one and it does.
So after you go buy an OSX license you could TRY to install it on your PC on a different drive using Boot-132 or one of the other installers like iDeneb. The issue you will have to do a lot of tinkering and things still won't work quite right.
Using Xamarin now we can develop iPhone applications in Windows machine itself with the help of Xamarin Live Player.
Using this Xamarin live player dev/deploy/debug cycle can now be done without an Apple system.
But to sign and release the app Apple system is required.
Find the reference here
I checked the reference nothing dodgy
Yes and you don't need to learn Objective-C and buying Apple software and hardware.
Adobe have created compilator from ActionScript 3 to program for iOS. And later Apple approved this method of application creation.
This is best way to create Apple applications under Windows or Linux/BSD (and another one for MacOS-X)
If you want to develop an application on Windows environment then there is an option, you can install MAC OS in your windows Platform name is : "Niresh'MAC OS" , you can search that text on Google
then you can download the whole MAC OS Source and easily installed MAC OS in your Windows PC, Niresh is able to Hack the whole OS.
Hope this will help you.
You can install OSX on PC but experience wont be great and it needs lot of work. Alternate is to use a framework/SDK Codename one: which is based on JAVA and can be used to code in WP8, Android, iOS on Windows (eclipse) with all extensive features
Features Overview:
Full Android environment with super fast android simulator
An iPhone/iPad simulator with easy to take iPhone apps to large screen iPad in minutes.
Full support for standard java debugging, profiling for apps on any platform.
Easy themeing / styling – Only a click away
More at Develop Android, iOS iPhone, WP8 apps using Java
Disclaimer: This is my review for the product
Develop iOS Apps on Windows With Cross-Platform Tools
Cross-platform tools are awesome: you code your app once, and export it to iOS and Android. That could potentially cut your app development time and cost in half. Several cross-platform tools allow you to develop iOS apps on a Windows PC, or allow you to compile the app if there’s a Mac in your local network.
Well, not so fast…
The cross-platform tool ecosystem is very large. On the one side you have complete Integrated Development Environments (IDEs) like Xamarin, that allow you to build cross-platform apps with C#.
The middle ground is covered by tools like PhoneGap, Cordova, Ionic and Appcelerator, that let you build native apps with HTML5 components. The far end includes smaller platforms like React Native that allow you to write native apps with a JavaScript wrapper.
The one thing that stands out for all cross-platform tools is this: they’re not beginner friendly! It’s much easier to get access to a Mac, learn Swift, and build a simple app, than it is to get started with Xamarin.
Most of the cross-platform tools require you to have a basic understanding of programming, compilation options, and the iOS and Android ecosystems. That’s something you don’t really have as a beginner developer!
Having said that, let’s look at a couple of options:
If you’re familiar with Windows-based development tools and IDEs, and if you already know how to code, it’s worthwhile to check out Xamarin. With Xamarin you code apps in C#, for multiple platforms, using the Mono and MonoTouch frameworks.
If you’re familiar with web-based development, check out PhoneGap or Ionic. You’ll feel right at home with HTML 5, CSS and JavaScript. Don’t forget: a native app works different than a website…
If you’re familiar with JavaScript, or if you’d rather learn to code JavaScript than Swift, check out React Native. With React Native you can code native apps for iOS and Android using a “wrapper”.
Always deliberately choose for cross-platform tools because it’s a smart option, not because you think a native platform language is bad. The fact that one option isn’t right, doesn’t immediately make another option smarter!
If you don’t want to join the proprietary closed Apple universe, don’t forget that many cross-platform tools are operated by equally evil companies like Google, Facebook, Microsoft, Adobe and Amazon.
An often heard argument against cross-platform tools is that they offer limited access to and support for smartphone hardware, and are less “snappy” than their native counterparts. Keep in mind that any cross-platform tool will require you to write platform-specific code at one point, especially if you want to code custom features.
If you have ssh access to a Mac, then you can use a VNC (like Vine VNC, which allows multiple uses at once - thin thin client) to control XCode.
This could be useful if you wanted to access a Mac Mini from a laptop, or your S.O. is hogging your MacBook.
You may try to develop web apps for iPhone using HTML, JavaScript, CSS. Check the getting started info at Apple's site.