4 ms·
Apple's policy on VMs feels so backwards and it really bothers me. Apple expect you to have dedicated hardware if you want to do CI? It makes Mac/iOS projects a
by seanwilson 9y ago
Apple's policy on VMs feels so backwards and it really bothers me. Apple expect you to have dedicated hardware if you want to do CI? It makes Mac/iOS projects a real pain and that's not including how much hassle Xcode only functionality is to script.
- falsedan 9y agoApple are a hardware company… they don't make money unless you buy their hardware.
- seanwilson 9y agoYou'd think Apple would be interested in making the workflow for developers easier though so better apps would be made. It's slightly better now but I've done iOS+Android mobile projects before where CI for Android has been easy to set up and CI for iOS has been a complete nightmare.
- y_u_no_rust 9y agoLOL
- falsedan 9y agoI think the workflow is pretty easy: buy a MacBook & an iPhone, and load your app onto the phone & test on it for things which the iOS simulator is not good at. Don't CI your apps, CI your libraries.
- seanwilson 9y ago> I think the workflow is pretty easy: buy a MacBook & an iPhone, and load your app onto the phone & test on it for things which the iOS simulator is not good at. > Don't CI your apps, CI your libraries. That's not scalable for complicated apps that you can write automated UI tests for though.
- falsedan 9y agoCould you take the complicated bits and put them in a library? How complicated is your app? To me, what you described is an app that was not designed to be easy to test component-by-component & will have a high overhead on maintenance. Apple’s restriction on virtualising MacOS seems unrelated to how the app was architected, so it feels unfair to expect Apple to alter their position to better support something they weren’t responsible for.
- seanwilson 9y ago> To me, what you described is an app that was not designed to be easy to test component-by-component & will have a high overhead on maintenance. Apple’s restriction on virtualising MacOS seems unrelated to how the app was architected, so it feels unfair to expect Apple to alter their position to better support something they weren’t responsible for. We have complex commercial apps with fully automated user interface tests (e.g. it'll test that you can enter your username + password, actually login and you'll be able to see content). You could test all the individual components as much as you want but you're still going to get bugs at the UI layer that you can automatically test for. We do the same for Android and CI for that is so much simpler. > Apple’s restriction on virtualising MacOS seems unrelated to how the app was architected, so it feels unfair to expect Apple to alter their position to better support something they weren’t responsible for. You'd think they'd want to support workflows that led to better quality apps being created. Surely it's their responsibility to support developers?
- falsedan 9y ago> you're still going to get bugs at the UI layer that you can automatically test for Surely you can prove the correctness with integration tests of your modules, and then your acceptance tests can be simple 'did the thing not show an error when we clicked on the thing, and it went to the right page'? We have 'simulate the world' 'acceptance' tests at work and they're terribly flaky, and I look back at the layered approach to testing we used in a previous job where the go-live test was to hit the landing page & search results page & check that the status code was 200. To be fair, the kind of tests I'm proposing won't catch layout issues. But, neither will the tests you're using.
- santaclaus 9y agoBut most of the hardware sales are iPhones. Mac sales are dominated by portables, and I doubt that many serious providers are hosting anything off of MacBooks.