iPhone picture taking and lidar data acquisition

I do not yet know anything about Swift. Before I climb the learning curve on it I need to know how suitable it is for my Apple iPhone project. The code requirements are:

  1. Trigger a lidar data acquisition.
  2. Take a photograph using flash.
  3. Take a photograph by commanding the shutter open, and then a short time later commanding the shutter closed, and do this without flash.
  4. Coordinate this with three other iPhones that are doing the same thing.
  5. Process the data.

I am looking to use Swift in my Windows 11 PC to do the above because I want to avoid, if possible, purchasing a Mac to do this development work. I also do not want to risk getting caught by Apple using Xcode14 in VirtualBox.

Is it possible to use Swift on a Windows 11 PC to create an app for an iPhone that does every one of the above items? What would be the API calls to control the shutter, take a flash picture, and trigger taking lidar 3D data?

AVFoundation is the thing to use here. For #4 I'd be looking at either Network framework (which has functionality previously available via Bonjour / multipeer connectivity) or higher level distributed actors. Unless you want to do the synchronisation via other means (like finger snapping, or time based synchronisation, etc).

On a separate note I'd strongly advice getting real mac hardware for this project.

What is the advantage of using a real Mac for the project? Can Network Framework, and AVFoundation, be used to develop with in Windows 11?

I guess it could... There'll be a dozen of small things "off" here and there, I guess you'll spend more time overall than the price of imac, and unless your time is very cheap I can't recommend that.


What would be the system requirements for this Mac? I seek not the "minimum" requiremt, but system requirements that would provide very good development performance, yet not be wasteful in regard to excessive hardware.

There is no supported development environment for iOS applications other than macOS.

It depends. I tend to buy expensive hardware but do this rarely as it lasts for ages. As an example the 2015 MacBook Pro I just recently retired still has a year or two of life in it until it is a total pain to use for development. The good litmus test "does this Mac support latest macOS version". If I was on an extremely tight budget and was forced to buy a new budget Mac now I'd go for MacBook Air M1, 2020, currently listed as $999 on US store. There's also $699 Mac mini M1, 2020 - but that's only if you can tolerate being chained to a desk (I can't). Another factor might be windows support (I have no idea if M1/M2 support it at all, intel based Macs supported it well last time I played with it). There's of course a second hand market but that's not my cup of tea (btw Apple does sells refurbished Macs and this is not advertised well enough; if to go second hand that would be my choice).

I would be looking for a tower. This is for where I work, and I need a tower, with large monitors (at least two), a GTX 1070 graphics card or equivalent, and a split keyboard.

This Mac must be able to network with the at least four iPhones.