17

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"

Community
  • 1
  • 1
Jose Adrian
  • 1,217
  • 1
  • 17
  • 32
  • Do you want your app to have the iOS native look and feel? – Emile Cormier Mar 07 '12 at 03:56
  • 1
    If you end up wasting a week to get around the limitations of using a PC for iOS development, the wasted time will cost more than a Mac Mini and a KVM switch. – Emile Cormier Mar 07 '12 at 04:02
  • The first app that we have to create doesn't need to have the look and feel but we want it to do it legally. Yeah, that's true but I need some real facts. We have only 2 weeks to create the apps. – Jose Adrian Mar 07 '12 at 04:12
  • +1 for a very systematic, nicely asked question though it maybe duplicate. – rohan-patel Mar 07 '12 at 04:42
  • 2
    Two weeks? Do your developers know Objective-C and the Cocoa Touch api already? Two weeks is very aggressive for anything non-trivial. – Adam Robinson Mar 07 '12 at 13:34
  • I'm the only one developer who is going to see all about iOS. I've been reading and I know the basics. Still not aproved to get the mac. – Jose Adrian Mar 08 '12 at 15:30

7 Answers7

7

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.

Adam Robinson
  • 182,639
  • 35
  • 285
  • 343
  • Your answer is really helpful. And this information is in this page http://www.apple.com/legal/sla/ Right? The last link for Mac OS X is broken but I guess the Lion 10.7 will be enough as a proof. – Jose Adrian Mar 07 '12 at 04:56
  • 2
    If you are EU resident it's legal to run your legally bought OS X system on any hardware you want. – Łukasz Wojciechowski Nov 30 '12 at 13:45
  • 1
    @nostrzak: Do you have a link that makes this quite clear? The EULA still disallows this practice, so unless you can point to something that specifically makes that portion of the contract invalid, you could still be advising people to violate copyright law. – Adam Robinson Nov 30 '12 at 13:53
4

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.

cyberfly
  • 5,568
  • 8
  • 50
  • 67
  • 2
    Note that hackintoshes violate the OS X EULA. Most people won't care, but he did specifically say he needs a legal option. – Adam Robinson Mar 07 '12 at 04:44
3

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.

jessecurry
  • 22,068
  • 8
  • 52
  • 44
2

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.

Dancreek
  • 9,524
  • 1
  • 31
  • 34
1

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

King Popsicle
  • 465
  • 5
  • 17
1
  1. 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.

  2. 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.

  3. 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.

  4. 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

  5. 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.

Rudy
  • 7,008
  • 12
  • 50
  • 85
  • 1
    I've attempted to use Phonegap for some professional projects with less than stellar results. The Apps do not appear to be native and have small idiosyncrasies that drove our users crazy. It also turned out to take more time to develop with Phonegap than with the iOS SDK, but YMMV. – jessecurry Mar 07 '12 at 04:13
0

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.

Emile Cormier
  • 28,391
  • 15
  • 94
  • 122