How to develop iOS app without physical MAC, using iPad as a debugging device?

I am trying to use Xamarin in VisualStudio for developing iOS application.

VS is asking me for Mac Build Host.
I have registered as iOS developer and paid for it, expecting that it is enough for development, but it seems that I also have to purchase a physical Mac desktop (which was not in my budget at all, after I invested additional few hundred bucks for an iPad mini, which I actually did not expect to use other than for development).

This whole situation looks pretty disappointing - especially because there was no any warning about it upfront.

Am I missing something, or is it really impossible to develop for iOS without physical MAC?

Any help will be greatly appreciated.
BTW - the whole Xamarin looks absolutely awesome - excluding this first disappointment.

Thanks,
Eugene

Best Answers

«1

Answers

  • EugeneVeselovEugeneVeselov USMember ✭✭

    Thanks a lot for the quick response. I am trying to follow your advice.

  • EugeneVeselovEugeneVeselov USMember ✭✭

    Thank you everybody.

    For me as a new MAC user it was not clear that my brand new and shiny iPad is not MAC! So when I was reading "a networked Mac" I thought it's about iPad. That's why I said "the was no warning".

    I believe I can afford Mac Mini. And I hope that "Mac Mini" is "Mac". Because if it's not, it will be even more costly disappointment :).

    And I agree once more time: Xamarin is really awesome!

  • EugeneVeselovEugeneVeselov USMember ✭✭

    Sorry for silly questions to Mac experts.

    Is it correct to assume that if I buy Mac Mini from Apple Store (OS X Mavericks, 2.5GHz dual-core Intel Core i5, 4GB memory, 500GB hard drive1, Intel HD Graphics 4000, no mouse, no keyboard, no display) then I will be able to use it for app development.
    I assume that I can attach keyboard/mouse/display from my Dell computer.

    Most importantly, I assume that I will be able to create a Certificate Signing Request (CSR), which is required for Xamarin.iOS projects.

    Do I need to purchase Mac dev IDE (XCode or something... I'd prefer to keep using VS and Xamarin only)?

    Thank you

  • Viv.4985Viv.4985 USMember
    edited January 2014

    Is it correct to assume that if I buy Mac Mini from Apple Store (OS X Mavericks, 2.5GHz dual-core Intel Core i5, 4GB memory, 500GB hard drive1, Intel HD Graphics 4000, no mouse, no keyboard, no display) then I will be able to use it for app development.

    Yes. That's the setup I got and with Xamarin, it works fine. I got a KVM to use my same keyboard and mouse across Windows and OSX. Monitor I just switch it via the monitor's menu as I use dual monitor's anyways.

    Do I need to purchase Mac dev IDE (XCode or something... I'd prefer to keep using VS and Xamarin only)?

    No. You do not have to purchase anything apart from the Mac mini. Well you need to purchase the apple developer license if you want to build and test the app on your iphone/ipad and ofc to publish to the app store.

    XCode itself is free. Just sign in to the app store on your mac and download it and all the tools you need.

    Hope that helps

  • BrettAnthonyBrettAnthony AUMember

    Just thowing it out there, but dont forget the Hackintosh route.
    Its really easy to set up a Mac on older PC hardware, and develop...well, so Ive heard. ;)

    (Im aware of the possible "legal" issues, but they are no different to Mac VMs.)

  • SteveFlackSteveFlack GBMember ✭✭
    edited January 2014

    AFAIK the Hackintosh route requires fairly specific hardware to work - particular when it comes to motherboards.

    Not knocking it as an idea but if you value your time it may be more cost effective to just stump up for a Mac Mini.

  • BrettAnthonyBrettAnthony AUMember

    Steve, yes true, it can take a little time getting some issues sorted with hardware, but if your on a budget, it can certainly save you money with the same outcome. I find that if you have some time to spare, building a Hackintosh can be the great way of learning Mac/OSX. But I certainly agree with Steve, if you need it fast, and dont want any headache, buy the mini. ;)

  • R-EastmanR-Eastman USMember

    Hey Guys, before I pull the trigger on the mac mini I wanted to confirm that the new mac "Mavericks" OS X is compatible. The Xamarin web site says: "OS X Lion or Mountain Lion". Is anyone actually using Mavericks for this? Thanks in advance..

  • SteveFlackSteveFlack GBMember ✭✭

    I'm using Xamarin Studio on Mavericks and it works fine. I can also do builds on VS in a Win8 VM and connect through to a Mavericks host.

  • RolfBjarneKvingeRolfBjarneKvinge USXamarin Team Xamurai

    @RogerEastman: yes, Mavericks is supported. It looks like the site wasn't updated when Mavericks came out.

  • R-EastmanR-Eastman USMember

    Excellent, thanks for the feedback!

  • AndyFlisherAndyFlisher GBBeta, University ✭✭✭

    I have no idea how legit or functional they are, but have you looked at http://virtualmacosx.com ?

  • R-EastmanR-Eastman USMember

    Hey Andy, that looks like it's legit and a real viable option. I already bought a Mac Mini and for the cost it would take 3.3 years to catch up to the cost of a mac mini with the $14.95 option. That's not bad considering the lifecycle of these things. Thanks for pointing this option out, another good option for folks to consider.

  • JorgeSanzJorgeSanz USMember

    I guess, an iPhone device is not enough to debug/deploy an iOS app with Xamarin, isn't it?

  • DaveHuntDaveHunt USMember ✭✭✭✭✭

    @JorgeSanz

    An iPhone device is not enough to debug/deploy an iOS app with anything. This is an Apple requirement, not a Xamarin requirement.

  • LenFocusLenFocus HKMember

    I am new on this. Mac book air/ mac book mini can do the purpose?
    Just get the limited budget and really want to develop applications with Xamarin.

  • DaveHuntDaveHunt USMember ✭✭✭✭✭

    @LenFocus

    Either of those will work. I would recommend a Mac Mini if you're just going to use it as a build host, though.

  • octadooctado SEMember

    @AndyFlisher said:
    I have no idea how legit or functional they are, but have you looked at http://virtualmacosx.com ?

    Mac setup (Apple ID, Xcode, and Xamarin) says

    Note that both machines must be on the same local network.

    Is this still the case? The Xamarin guide says the machines need to be

    on the same network

    which I assume then (excludes WAN and) means the same thing.

    Does it not mean that virtualmacosx.com will not work? Would using a VPN work around it? (And out of curiosity, why the limitation, will it change? Would not SSH tunneling allow the necessary connection?)
    Oh Apple...

  • AndyFlisherAndyFlisher GBBeta, University ✭✭✭

    It's now even simpler as it only needs port 22 over SSH to technically work, and I think that's 'on the same network' criteria, latency and performance. It will work over a VPN / WAN, certainly if you specify a manual IP, whether it's performance is such that you'd want to use it, that's another thing!

  • KewinOsbornKewinOsborn TRMember

    @Bob_Reck said:
    @EugeneVeselov,

    Sorry to hear your disappointed, but the information about needing a networked Mac is pretty readily available. Hope you are able to work something out. Xamarin is a great product and the people at Xamarin are even better (and no, I don't work for them).

    A quote from this page:
    http://xamarin.com/visual-studio

    "Xamarin.iOS for Visual Studio allows native iOS applications to be developed and tested on Windows computers, with a networked Mac providing the build and deployment services."

    Unfortunately there's no way around it. A Mac is needed. That's Apple's doing, not Xamarin's.

    Bob

    Hi Bob ,

    Then, how can we develop apps and games with unity without a mac server or mac mini ? Unity doesn't need that ?

  • Bob_ReckBob_Reck USMember ✭✭✭

    You're asking the wrong person. I don't work for Xamarin so you might want to ask someone who does. And I have never used unity, but I would be surprised that you can develop on a PC for iOS and not have to compile on a mac. I have not seen anything that says you can.

  • KewinOsbornKewinOsborn TRMember

    @EugeneVeselov said:
    I am trying to use Xamarin in VisualStudio for developing iOS application.

    VS is asking me for Mac Build Host.
    I have registered as iOS developer and paid for it, expecting that it is enough for development, but it seems that I also have to purchase a physical Mac desktop (which was not in my budget at all, after I invested additional few hundred bucks for an iPad mini, which I actually did not expect to use other than for development).

    This whole situation looks pretty disappointing - especially because there was no any warning about it upfront.

    Am I missing something, or is it really impossible to develop for iOS without physical MAC?

    Any help will be greatly appreciated.
    BTW - the whole Xamarin looks absolutely awesome - excluding this first disappointment.

    Thanks,
    Eugene

    Hi ,

    You can develop ios ,mac apps and build them with unity , without needing any extra apple hardware .

  • DaveHuntDaveHunt USMember ✭✭✭✭✭

    @KewinOsborn said:

    You can develop ios ,mac apps and build them with unity , without needing any extra apple hardware .

    No, you can't. From the Unity Manual: Inside the iOS Build Process:

    1. XCode project is generated by Unity with all the required libraries, precompiled .NET code and serialized assets.
    2. XCode project is built by XCode and deployed and run on the actual device.
      ...
      Note: Step one above can be performed on a PC or a Mac. Only a Mac can perform Step two. This means to get a Unity project running on an iDevice you will need to have a Mac.
  • KewinOsbornKewinOsborn TRMember
    edited August 2016

    @DaveHunt said:

    @KewinOsborn said:

    You can develop ios ,mac apps and build them with unity , without needing any extra apple hardware .

    No, you can't. From the Unity Manual: Inside the iOS Build Process:

    1. XCode project is generated by Unity with all the required libraries, precompiled .NET code and serialized assets.
    2. XCode project is built by XCode and deployed and run on the actual device.
      ...
      Note: Step one above can be performed on a PC or a Mac. Only a Mac can perform Step two. This means to get a Unity project running on an iDevice you will need to have a Mac.

    No . It says you can't run it yes,but it doesn't says you can't develop or build. If you have an ipad or iphone you can run it on them by unity remote . And Eugene has an ipad as he said. so he doesn't need to buy a Mac to build app.
    Second step is just about running the app as it says clearly...

  • DaveHuntDaveHunt USMember ✭✭✭✭✭
    edited August 2016

    Actually, it does say you can't build. The first step merely generates the Xcode project, it doesn't build it as it says clearly. Precompiled .NET code does not equal building the app.

    Unity Remote doesn't actually run your app on the device. Unity Remote is an app that runs on the device and just displays what the Unity editor is sending and responds (very poorly) to input to send back to the editor. The app isn't built without a Mac. It's not built at all.

    To actually test your Unity application on the device, you have to build it and deploy it. Unity Remote is not a substitute for that, nor is it very good at what it does, since input is laggy and often misses inputs.

    To build and run on the device you have to have a Mac. Period.

  • KewinOsbornKewinOsborn TRMember
    edited August 2016

    @DaveHunt said:
    Actually, it does say you can't build. The first step merely generates the Xcode project, it doesn't build it as it says clearly. Precompiled .NET code does not equal building the app.

    Unity Remote doesn't actually run your app on the device. Unity Remote is an app that runs on the device and just displays what the Unity editor is sending and responds (very poorly) to input to send back to the editor. The app isn't built without a Mac. It's not built at all.

    To actually test your Unity application on the device, you have to build it and deploy it. Unity Remote is not a substitute for that, nor is it very good at what it does, since input is laggy and often misses inputs.

    To build and run on the device you have to have a Mac. Period.

    Dave , did you ever use unity You have an options menu for choosing the platform which you want to build and run and after choosing ios , it says run in xcode in <release, debug> , it has build and build and run button in it, and , it realy builds on pc when you click the build button as I've done , and as I see it converts it into xcode in build folder. Also it has debug and release build options.
    Don't just read the manual. Download and try it.
    (Even though you said is true , you can develop and run and try and after everything finished , you can also build it from cloud for just once.
    Can you test and debug your application on Xamarin ? )

  • AndyFlisherAndyFlisher GBBeta, University ✭✭✭

    Can't speak for Unity, but for Xamarin iOS you need a Mac in the loop somewhere. Now technically you can use a third party service like visual studio online / or Bitrise as your build agents, so your workflow would be;

    Visual Studio
    push to Git Repo
    build in Bitrise
    Download binary
    Load to phone (could use hockeyapp for this)

    YMMV but I would find that a horrid and time consuming way of going about it for small tests and hi tweaks

  • AaRon.0823AaRon.0823 USMember

    Please vote for cloud-based iOS emulator, If you have no Macbook to test your iOS app with Xamarin on Windows.
    https://visualstudio.uservoice.com/forums/121579-visual-studio-2015/suggestions/15507366-xamarin-needs-a-cloud-based-ios-emulator-for-windo

  • Raj1Raj1 INMember

    The Device has to be connected to the Mac. If we are connecting to a Mac remotely, we can use a Simulator and view the result using an RDP client like TeamViewer. I'm not sure if that is possible with Main Cloud. You can also go for Xamarin Test Cloud if that is feasible for you.

  • JamesSurezJamesSurez USMember

    You can use a remote service of Mac. For example: https://www.facebook.com/Cloud-Mac-1208197752629250/

  • DWolf123DWolf123 USMember

    So you buy a win10 dev system, now you need a mac. Isn't Xam redundant? If you need a mac, why not buy a MacBook and just use xcode?

  • AndyFlisherAndyFlisher GBBeta, University ✭✭✭
    You can @DWolf123 - assuming you only want to develop for iOS and use objective c or swift. If you want to use C# and get the benefits of cross platform development then you need Xamarin
  • AndrewFraserAndrewFraser GBMember ✭✭
    edited May 2017

    Also factor in the cost of a Psychiatrist if you want to go down the objective-c route ;-)

    Andy

  • StandaMikesStandaMikes USMember ✭✭

    In case you just want to learn with Xamarin, you can follow this article: http://bitsof.net/xamarin-ios-apps-without-physical-mac/. As people here mentioned many times, it shouldn't be done in a company where must be legal environment ;)

«1
Sign In or Register to comment.