iOS development using Windows toolchain

Discussion in 'iOS Programming' started by vrenken, Aug 2, 2010.

  1. macrumors newbie

    Joined:
    Aug 2, 2010
    #1
    Hello,

    is there anybody who can tell me if iOS development using a Windows based compiler toolchain is bound to cause legal problems?

    I do not mean running applications on jailbreaked devices, but am just curious if people are allowed to compile iOS applications against the Apple SDK this way.

    Any thoughts?

    Greetings from the rainy Netherlands,

    Peter Vrenken
     
  2. Moderator emeritus

    robbieduncan

    Joined:
    Jul 24, 2002
    Location:
    London
    #2
    The iPhone SDK Agreement that every developer must agree to before downloading the SDK states (section 2.2 (a))

    So you may no install the SDK (or any part of it including the Cocoa Touch libraries etc) on a non-Apple computer. If you are running Windows on a Mac then you would be OK here.

    If someone else has given you a copy of the SDK then they are in breech of the agreement they signed (or someone is) (Section 2.5):

    So basically you can only install the SDK or any part of it on an Apple computer. You cannot derive split out parts of the SDK (like the Cocoa Touch libraries) to create a derivative work so this would, in my eyes, prevent the creation of a toolchain that linked to the required libraries on Windows. If you do Apple may pursue you for damages in court.

    So it's not illegal: there is no law against it. But it is breaching a contract and Apple can pursue you or anyone else who helps you (if they have a similar contract with Apple) through the courts for breach of contract and damages.

    In short: I'd not recommend it.
     
  3. thread starter macrumors newbie

    Joined:
    Aug 2, 2010
    #3
    So one legal solution would be to execute the toolchain on a emulated Windows that runs on a Mac?
     
  4. Moderator emeritus

    robbieduncan

    Joined:
    Jul 24, 2002
    Location:
    London
    #4
    Possibly, although only if such a toolchain could be achieved without breaking the no "decompile, reverse engineer, disassemble, attempt to derive the source code of, modify, decrypt, or create derivative works of the SDK". I would consider any non-Apple toolchain that used any code, libraries etc from the SDK would be against this. Again it's not illegal to do the things prohibited by this agreement. There is no law passed specifically for the SDK. You would simply be in breach of contract and standard contract law would apply.

    I see no reason to even attempt this on a Mac: just use Mac OSX and XCode.
     
  5. macrumors 603

    MorphingDragon

    Joined:
    Mar 27, 2009
    Location:
    The World Inbetween
    #5
    Yes, but wouldn't that be pointless?
     
  6. thread starter macrumors newbie

    Joined:
    Aug 2, 2010
    #6
    I am doing some research on if it is possible to develop iOS applications using Visual Studio.
    Call me nuts, but imho it would really be nice to develop cross platform applications using a single IDE.

    At the moment it seems to me that it is not required to change the SDK in any way, but i have to admit my knowledge on the subject is rather limited (yet).
     
  7. macrumors 603

    MorphingDragon

    Joined:
    Mar 27, 2009
    Location:
    The World Inbetween
    #7
    The closest thing for what you're asking for is Mono.
    http://monotouch.net/
    That of course, limits you to C#.
     
  8. thread starter macrumors newbie

    Joined:
    Aug 2, 2010
    #8
    ok,

    but as far as i know, Mono does not run on the iPad/iPhone.
    If i remember correctly, it isn't even allowed to run virtual machine-ish applications on these devices.

    However, it would be really cool. :D

    But until that time i'll bet my money on Objective-C development using Visual Studio...
     
  9. Moderator emeritus

    robbieduncan

    Joined:
    Jul 24, 2002
    Location:
    London
    #9
    In what way will this result in a cross platform application? Any iOS library linking will result in an iOS only application...
     
  10. thread starter macrumors newbie

    Joined:
    Aug 2, 2010
    #10
    Hmz,

    i was just reading some documentation on the MonoTouch website, but as stated in the first reply: Doesn't the iPhone SDK Agreement disallow using MonoTouch on non Mac hardware?
     
  11. Moderator emeritus

    robbieduncan

    Joined:
    Jul 24, 2002
    Location:
    London
    #11
    In theory I would say yes. It all comes down to whether you really think Apple will take you to court or not.
     
  12. macrumors 603

    Joined:
    Jul 29, 2003
    Location:
    Silicon Valley
    #12
    The gcc and llvm compiler tools are open source. Apple's Objective C runtime, UIKit frameworks, and codesigning tools (etc.) are not.

    You'd have to consult an attorney in your jurisdiction about whether using the latter against Apple's license terms, and/or doing a complete clean room rewrite of all the libraries plus a reverse engineering of the codesigning process, would cause you legal problems.

    If using the Mac UI causes you to go blind or somesuch, one possible alternative is to create a Visual Studio front end under Windows that actually runs Xcode on a Mac (remote Xserve, VMWare host, etc.) to produce binaries.
     
  13. thread starter macrumors newbie

    Joined:
    Aug 2, 2010
    #13
    ok,

    thanks for all the replies.

    Could a iPad/iPhone be setup in such a way that it can be used as a compiler platform?

    If i am correct these devices are true Apple branded computers...

    i've been doing some reading, and think it should be feasible using SSH and GCC. The only thing i do not know is if it is possible to use the SDK on an IOS device itselve.


    I am developing a Visual Studio Package that allows iOS specific files to be managed from within a Solution. The same way as for C# and other languages.
    A compile could be executed on another machine using SSH and GCC actions.

    At the moment only the Objective-C project system part has been finished (see attachements)

    Greetings,

    Peter Vrenken
     

    Attached Files:

  14. Moderator emeritus

    robbieduncan

    Joined:
    Jul 24, 2002
    Location:
    London
    #14
    Nope, not possible.
     
  15. thread starter macrumors newbie

    Joined:
    Aug 2, 2010
    #15
    Not even using a GCC compiler that uses sources and headers from a mounted DMG file?

    Hmz, that sounds pretty cool coming from a Windows oriented person... :rolleyes:
     
  16. Moderator emeritus

    robbieduncan

    Joined:
    Jul 24, 2002
    Location:
    London
    #16
    iOS devices are ARM. The normal SDK usage is to build in Intel (for Intel) and test in the simulator. Once that works you cross-compile to ARM. Without having access to the SDK already and being able to put an app on there (so paying Apple $99) you can't get anything like GCC onto the device. Even if you can you'll need a whole lot of toolchain to make it work.

    Other things you won't have: remote debugging, remote Instruments.
     
  17. thread starter macrumors newbie

    Joined:
    Aug 2, 2010
    #17
    Thanks for all replies and information.

    I still think it is a Nice experiment to create a toolchain that uses Visual Studio as a IDE and a iOS device or Apple desktop as compiler platform.

    Future progress of the research into this matter can be found here.

    Greetings,

    Peter Vrenken
     

Share This Page