Starting development on ios platform with windows 7 - iphone

New to ios development, looking for some guides, Can I develop ios application on windows 7 having mac os as virtual machine, and if yes then what are the things that i need to install first to get started.

There is no legal way to develop iOS applications on Windows at the moment. Running Mac OS X in a VM on non-Apple hardware is a violation of Mac OS X EULA. If you hadn't mentioned a VM I would have voted to close this question as duplicate, as Can I develop iOS apps on Windows? is a very frequently question. The canonical answer is: No, buy a cheap used Mac Mini.

Yes you can. It's called hackintosh. I purchased a $30 CD from an apple store and followed directions found on many sites, check youtube. Yes, it violates the MAC OS X EULA. I would say no less than 5% of iphone apps are developed this way, especially those developed in India (4 of 5 developers i've spoke with write code this way).
Should you purchase a Mac Mini and do it "right". That's up to you. The time i spent getting hackintosh up and running, I could have billed out enough hours to have purchased 5 mac mini's.

You can do Virtual Machine on Windows for Mac but this will cause lots of a problem and its not worth the hassle.
You can leave out all the hackintosh stuff and try to do yourself in mac-mini
but if you are still insistent on using windows machine and comfortable with C#
then you can give a try on Xamarin.iOS.
Microsoft has introduced Xamarin Live Player using which you can debug,develop and deploy the app completely in windows without the help of any Apple system but to sign and release the app to appstore you will need Apple System though

Related

How to build native apps for iPhone using Windows? [duplicate]

This question already exists:
Closed 10 years ago.
Possible Duplicate:
iPhone development on Windows
I want to build apps for the iPhone but i can't find a right program.
I don't have a mac, so xcode isn't possible. I used MobiOne, but i had to pay, and i prefer a program that's completely free.
I want to ask if some of you know a program to build native iPhone apps thats compatible with windows and is completely free.
Yours,
Gromdroid
You need a Mac computer with an Intel CPU and MacOS X 10.6+, and a copy of the Xcode software (it's free) to build apps for iPhone. That's the Apple policy. They just don't license the build toolchain to anyone. Even with third party iOS-compatible SDKs like Mono or PhoneGap you have to produce the final build on Xcode.
A Hackintosh or MacOS X under VMWare is probably your best bet, short of buying the cheapest Mac Mini you can find.
To upload your apps to the App Store or to live devices (as opposed to the emulator) you'll have to pay, too. $100/year for a basic account.
EDIT: IIRC, in the latest policy, you can run and debug on devices without a paid developer account. To upload to the App Store, an account is still required.
I don't know much about this, from my limited knowledge,you can Use phone gap for application development. It's free and you can develop applications for I-phone,android,windows mobile,black berry etc using this sdk.
Titanium sdk is another one.
But you need to create IPA on XCode for installing it on Apple devices (Iphone,Ipad etc).
It's better if you install Mac OS on your windows machine using Virtual box (Virtual box).
Please check the sdk links.
Phone gap
Titanium
if you're good in java/lwuit programming you can also check Codename One http://codenameone.com
you use their designer and framework, and you publish to iphone, android, j2me etc..
you'll still need development certificates.

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.

Is it possible to build an iPad app on the iPad?

I would like to minimize the number of devices I would have to purchase to do iPad development so it would be nice if it did :)
I suspect the answer is no because I really doubt apple was kind enough to put an objective c compiler on the device. I guess an alternate question would be what is the cheapest apple platform I could use to build apps?
You are correct. Apple wants you to develop your apps on a Mac.
Here is a link to Apple's site describing what you need. A mac with xcode is a requirement.
No, there is neither a compiler nor and IDE available for the iPad. You need a Mac to do iOS development, but even a cheap used Mac Mini will do (and no, you cannot do iOS development on Windows, I'm afraid).
First to answer your "subject question": As far as I know, NO you cannot install Xcode development kit on an iPad and thereby producing new iPad software... Apple also would like you to buy a real Apple computer if you want to do real business with the platform.
BUT
With some effort and research, you can just buy an orignal Mac OSX 10.6 or newer. Then with some tweaking and fixes, you install this on ordinary PC hardware. This is because the Apple computers today also are running on Intel CPU's and PC motherboards.
Its not officially supported nor "okay" from Apple's licensing point of view, but once you get it running the computer / OS thinks its a real Mac and then you can run and compile Mac software as its running 100% as a Mac.
I've seen tests where the owner connected iPod and iPhones to iTunes and AppStore which didnt see anything unusual, so the owner was able to buy movies and music and applications as normally.
Same goes for installing pure Apple software such as Xcode and other Mac-Only software.
You can even install some boot-manager and be able to run Windows 7 and Mac OSX on a partioned harddrive I've been told.
The "thing" is called a Hackintosh. But I was warned that it is far from every piece of PC hardware that you can make run with Mac OSX, so a lot of studying is needed before succeeding I guess.
I am not sure if this app is compatible with ipad, but it can certainly MAKE your app. You still need the SDK to compile the code it generates, and you still need to purchase the dev program to release your app to the store.
Not to mention the functionality you can add is very limited, but it is the closest to developing on the device itself that you can get.
You could use the Notes app on an iPad, or a Javascript editing app, or a cloud hosted text editor from iPad Safari, to write HTML5/CSS/Javascript for a web app. Upload the resulting web app source text plus a manifest to some web server, go to it in Safari with your iPad, test it, and save it as a web clipping web app.
That's for a web app.
If you want to build native iOS/iPad apps you need an Intel Mac running OS X 10.6.x (but even a cheaper old used Mini or iMac will do, as long as it can run Snow Leopard 10.6).
Or at least fast network access to a Mac. You could remote access a Mac using one of the many VNC or other remote viewing apps for the iPad, and develop native iPad apps from an iPad that way, but it would still involve a Mac.

Development of iPhone application in linux [duplicate]

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

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

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