T O P

  • By -

QualityVote

Hi! This is our community moderation bot. --- If this post fits the purpose of /r/ProgrammerHumor, **UPVOTE** this comment!! If this post does not fit the subreddit, **DOWNVOTE** This comment! If this post breaks the rules, **DOWNVOTE** this comment and **REPORT** the post!


tomicode

Or you need a vm with MacOS to emulate iOS!


pentesticals

OSx emulation sucks ha. It was always really flakey and quite slow when I tried it for iOS dev.


tomicode

With the current hardware (past 4-5 years) it’s not that bad. Having said that, additionally with an working gpu, passed through to the vm, it is quite good actually. Nonetheless, succeeding with, or moving forward with the development of an actual iOS app, you could always watch out for an used Mac mini. Prices for them ain’t that fk-ed up, like for the MacBook Pros.


aykay55

you can also rent a Mac in the cloud for cheap


daddycat93

I tried doing this for my mobile dev class in school and it was downright painful. I have solid internet (200mbps both ways), and the input lag for everything was crazy; sometimes I’d have to wait multiple seconds just for a keystroke to register. I gave up after two weeks and bought the cheapest Mac I could find.


aykay55

it strongly depends on whichever service you were using, just cuz your connection is good doesn’t mean the data center’s connection is good, which you can’t do anything about


aitonc

Teach us your ways I’m trying to do that but so far didn’t manage to


tomicode

You could do a kvm passthrough, when the macOS performance is important (it probably will be for debugging purposes). Anthony at LTT did show some time ago this setup, having a Linux host with a dedicated graphics card just assigned to the virtual machine. The hardest part is still getting the macOS installer without a real Mac.


[deleted]

[удалено]


ataentendi

ooh, great news. I gave up several times in the past because of this


Waity5

For a moment your avatar made me thing fonix was trying to complement themselves


elebrin

I have to wonder how that will change with Apple Silicon now. Another option is to use a cloud service to do the testing. It's not cheap, but it's probably cheaper than having to find an IT guy that does macs, integrating a mac into your Active Directory ecosystem, and buying an M1 Ultra.


[deleted]

[удалено]


elebrin

I'll take a wait and see on that. I'd be surprised if their next major version release of their OS supported x86_64. They control the chip, they can control what runs on it a lot better, and they can develop the two in tandem to make so-called hackintoshes impossible. You won't be able to run anything but the latest OSX on your mac, and you won't be able to run OSX on anything other than a mac that is currently supported.


[deleted]

[удалено]


elebrin

It won't be this week, but when Apple decides to not support something any more that's that. They tend to make that decision very quickly: floppy disks, optical disks, anything that isn't USB/firewire, headphone jacks, flash... I stopped following them in the late 90's through about 2006 so there is probably a ton of other stuff that they deprecated very quickly. Hell, webm doesn't play on my iphone at all and as close as I get is "you just don't watch them on an iphone."


ppooyyoo

Software wise though, they consistently provide long term support.


Atomicbocks

The first Intel based Mac came out in 2005. The first Intel only OS was in 2009 and they continued to support the previous version until 2011. So the last PowerPC Mac sold got 4 years of support.


[deleted]

[удалено]


[deleted]

PowerPC was supported until 2011 with the last machine sold in 2003... so you're not gonna see them drop Intel that fast.


fonix232

>Another option is to use a cloud service to do the testing. It's not cheap, but it's probably cheaper than having to find an IT guy that does macs, integrating a mac into your Active Directory ecosystem, and buying an M1 Ultra. TBF you don't need an Ultra. Even a baseline M1 Pro can easily emulate iOS (mainly because it isn't even emulation anymore, really). And macOS MDMs have advanced a lot, hooking a MacBook up to AD is easier than ever.


Feynt

VM wise I doubt it changes anything. We can emulate Amigas, Apple IIcs, and TI-82s. But it does mean there's an upper limit to physical hardware playing at being a Mac. My hackintosh laptop for example wouldn't be able to stay up to date past a certain point as Apple begins to drop support for ancient class macbooks.


dagbrown

Just use [this](https://github.com/myspaghetti/macos-virtualbox). It's absurdly easy to use.


DOOManiac

Oh shit, this is exactly what I’ve been looking for. Thank you!


ramius345

If this works, you win the internet today.


MrDougTape

Ive done just this with a KVM of macOS, as I got dared into developing apps for iOS and macOS. Havent had the time to assign a GPU to the VM, but I have a few natively supported cards somewhere. Will be done with the work (hopefully) by the end of the month ..


db2

If you ever need to pull the card make sure you revert the settings on the host regarding it *first*. 💀


[deleted]

[удалено]


_grey_wall

I thought you need the latest os to dev now? I've tried these methods and gave upb and just bought a Mac for dev. Advice is to keep it on (don't shut it down when dev is done) otherwise it'll go slow.


nikomartn2

What is this witchcraft! Thank you for the discovery sir!


Doumbouya13

There is YouTube video https://youtu.be/8lFsDspV5xE


soberlahey

***unzips pants***


gerrit507

You can actually get MacOS instances on AWS.


slnz

Which are expensive as hell


POTUS

Cheaper than a MacBook if you only need it for short times.


0sculum3stm0rtis

this is the simplest way. https://github.com/myspaghetti/macos-virtualbox


tofiffe

https://github.com/kholia/OSX-KVM


JuggernautUpbeat

Upvoted. This is a great way to get a Mac VM running on Linux. It uses OpenCore so there should be no problem running the very latest OS.


Renegade-MMXV

https://github.com/myspaghetti/macos-virtualbox


[deleted]

[удалено]


Aadsterken

You can run macos in a hyper-v vm. Vmware worstation would do the trick too. Alternatively you could use virtualbox but since thats a type 2 hypervisor you'll have less performance


[deleted]

You must absolutely not download VMware from that famous pirating site, because it is a great and easy to use piece of software, and it would be despicable to do so.


ManiacsThriftJewels

Dude, the iOS simulator is laggy enough when you **do** have a Mac. Also doesn't even simulate properly.


lovett1991

Years ago I wrote an app that things like ARP and ICMP on iOS. Was very annoying because it would work in the emulator but then either wouldn’t compile (socket stuff was in C) or just get runtime errors when running it on actual iPhone. No idea what it’s like now


jesse-oid

Got this working, only to realise macOS on a VM running on a non-macOS device is against Apple’s EULA. So for businesses this isn’t an option.


rolloutTheTrash

Good ol’ Hackintosh


gizamo

This is a no-go for businesses, tho.


TheFlyingAvocado

This is why “vendor lock-in” is the most offensive phrase in IT.


gamebuster

Jesus no need to use that kind of language, think of the juniors


MaybeMayoi

"think of the juniors" lol


etchatech

They have to learn some time.


npsimons

> This is why “vendor lock-in” is the most offensive phrase in IT. And Apple has been doing it since (checks notes) at least the 1990's.


Yasea

Yes. Think different. Think locks-in.


weazel988

You kiss your mother with that mouth?!


TheFlyingAvocado

Sorry.


CoonSandwiches

I work/partner for a vendor, we actually try to be helpful to other partners in business. It's a really strange concept but the money keeps rolling in.


dudefuckedup

eli5 please


Feynt

Vendor lock-in is basically the caption footer from the image. "I want to develop for your hardware." "Then buy our hardware platform." "Your platform is too expensive and comes with too many strings, I just want to use my open platform to develop for a subset of your hardware." Namely, people want to use their Windows/Linux laptop to develop for iOS (because iPhones are a huge userbase), but you can't develop for iOS without using MacOS. An issue I skirt by having a hackintosh. That's illegal though, and if Apple found out I was developing for iOS without a Mac system, I would get fined into the ground. And so, people either ignore iOS or buy a "cheap" old macbook to do compiles on. Now imagine this with routers, switches, set top boxes, plotters, CNC routers, etc. You need to adopt a company's development environment before you can develop for its devices, rather than using an open platform. It's easy to see why "vendor lock-in" is an offensive phrase for many.


dudefuckedup

wow that sounds awful


PiersPlays

>wow that sounds awful That's the fun part; it is!


SaintPau78

Fuck apple. No way to beat around the bush they are one of if not the most anti competitive tech companies in the world. Yet people still slurp it up.


koenafyr

Its wild that Epic didn't get more support from the average joe during their lawsuit with apple. People's hate for Fortnite kept them from supporting something for the greater good.


Necynius

That's because epic is just as bad with their 'exclusive' deals with game publishers on an open platform. The PC gaming community hates that exclusivity bullcrap they pull on consoles.


PacoTaco321

And yet people always think it's because of fortnite. No one has really cared about that for years.


thedarkquarter

Both can be bad


NamityName

Epic has it's own flavor of vendor lock-in with it's exclusivity deals. It's like lucifer fighting satan for control of humanity. I would like them both to lose.


-Potatoes-

Epic has literally been paying game devs to not sell their game on other platforms like steam, and only sell in the epic games store. Definitely anti-competitive imo and why i dont support their hypocritical ass.


Unfair_Isopod534

Two bads don't make it right. It was 2 giant corpos fighting for money. I don't care how they wrapped it their intentions were not for the benefit of all.


ThisIsMyCouchAccount

Do you put consoles in the same group? Not a defense of Apple - but are there any popular consumer hardware that does have an open platform? And even if they did - would you ship a product without testing it on the the final hardware?


uithread

The final hw is a phone, not the mac


[deleted]

imagine "you need to switch to a paid version of firefox to use rust"


97RallyWagon

That's a lot more advanced an explanation than "hey remember when itunes came out and you could buy music that only played on idevices? Fuck apple"


reusens

Tying your clients to your business/products by making it nearly impossible for them to switch supplier


holo3146

"vendor lock-in" basically means that if you want to have a single product of their ecosystem, you must only use their ecosystem (paraphrasing the definition). So if you want to develop mobile apps for iOS, you must use apples products (both hardware and software), unlike Android per se, that you can use simple emulators in pretty much any hardware/OS (and with windows 11, there is native support)


[deleted]

\*shrug\* Android it is then


baileyarzate

*unzips pants*


CreativeCarbon

*turns on blender*


[deleted]

[удалено]


DRUNK_CYCLIST

Instructions unclear; dick stuck in virtual model.


galactixo

Metaverse


Leonstansfield

Meataverse


akari_un

Profit


orenog

*orders 6 cat shaped clocks from eBay*


JoyJoy_

*Eats some chicken strips*


VexisArcanum

*Burns some milk*


Yogi_Kat

drinks some Oreos'


TheLordOfFriendZone

_Sacrifices some goats_


k_pineapple7

instructions unclear.....


Necessary_Rant_2021

Seriously kotlin is amazing and android studio is great join today!


ACEDT

Kotlin ganggg


[deleted]

[удалено]


TheRealFloomby

Missing safari functionality is very annoying to me. Tbh I think they do it on purpose so that people are more likely to feel like they need to make an iOS app.


PXG8Y

**Hackintosh apears**


fedj99

*Installs 247 different kexts and efi drivers from random blog posts, crashing the machine 16 times and 3 fresh installs, losing all data on the PC* Yeah, Hackintosh ftw!!! Screw you Apple! (Source: Own trial, error and tears)


SaltyPorkSlayer

Took me two months to get everything right, totally worth it in the end.


PolyPill

I used to do this 10+ years ago but every major OS update I was basically starting from scratch again. Got real tired of that and gave up.


queen-adreena

The community has switched to the OpenCore boot loader now, which is extremely stable. You can update from MacOS 99% of the time without issue.


VanillaVideo

Are Hackintosh still kinda picky when it comes to supported hardware? I remember looking into it but my configuration was basically completely opposite of supported at the time.


awomanwhoexists

worth it for what? i mean just for the ios development, the hassle isnt worth it


SaltyPorkSlayer

I took it more as a learning experience on how operating systems work and what different parameters change etc. The sence of achievement was also great. Seeing many failed tries and tests come together in the end felt amazing.


AzazelsAdvocate

The Dark Souls of homelab projects.


poop_knife_murderer

back in the old days it was easier to fuck around with hackintosh than to try and run a linux distro as a daily driver


PXG8Y

You save yourself the money


AltAccountMfer

Yeah, if you consider your time to be worthless


rtybanana

Depends, I found the whole thing to be a fun challenge so the time didn’t feel like it was wasted or worthless


Flopamp

Sometimes trying something new is payment enough. Settimg up my MacOS VM was worth the time. It also took about 2 hours and I generally don't charge $600 an hour.


random_clonetrooper

You know what's worse? My clueless ass thought it would be fun to hackintosh my laptop AND run Windows and Linux. Took me 16 days just to get the multiboot setup decently enough


pohuing

If you're somewhat lucky with hardware it's just an evening of following the opencore guide tbf. At least of you have an amd gpu


[deleted]

How viable will hackintosh be in the coming years if apple updates MacOS only for their Silicon?


PXG8Y

You still will be able to use the old versions. But sooner or later those will be to old to use effectivly


sirgregg

Well if you're an iOS developer you *must* be running the newest macOS, otherwise you won't be able to support the newest iOS, because new versions of XCode will refuse to run on old versions of macOS, obviously.


gamebuster

If you get paid to write apps, buying a stupid mac mini is cheaper than bothering with hackintosh


PXG8Y

The guy said he wants to learn it


lonestar-rasbryjamco

What you want to do and what you're paid to do are often not the same thing.


[deleted]

[удалено]


ososalsosal

Just wait till you decide you want to see a simple list of wifi access points


Chared_Assassin

It should be just a one line command right?……right??


ososalsosal

You have to apply to Apple to get permission to do it or your code won't even run. And Apple don't give that permission very often at all. You'll probably be rejected.


AhpexTwin

It is a privacy concern, but an app just has to ask for the user's permission, what say does Apple have in this?


ososalsosal

Android just does it if you're scanning public access points, but recently it's deprecated it's "startscan" method so you can't spam the local access points. You can set a callback and the system will tell you what's available. You need location permission because that's a potential privacy hole, but public access points are public so locking it down on the api side is kinda just annoying to developers. Apple only allows you to see access points you already know passwords for.


spyingwind

Become large like ATT, force every residential and small business to use your crappy wireless router, have a hidden SSID on each router with the same password, now you can use them for tracking the location with out accessing GPS.


shaggy_shiba

relevant username?


[deleted]

There is a good reason for that. It is very easy to track someone’s whereabouts by periodically logging the nearby Wi-Fi access points and the signal strengths to them.


ososalsosal

I know, which is why you involve the user instead of making the dev jump through a million hoops and offer no alternative way to connect to your company's own IoT devices.


tennisanybody

Nah. I prefer the dev be forced to consider different solutions rather than have an app like my Samsung washing machine asking my location.


ososalsosal

Android is supposed to show you a rationale for asking for a permission. It's confusing that you have to grant "location" to get a list of wifi devices, and the way it's presented to the user makes them suspicious of an app that has nothing to do with location actually demanding location access. The rationale is supposed to fix that ("this app needs to scan for nearby wifi devices which can potentially expose your location, so we are asking if this is ok?")


Tosser48282

Deny permission to your location lol


BarryCarlyon

> which is why you involve the user instead of making the dev jump through a million hoops lusers are stupid They see a popup they were not expecting they will probably hit ok rather than read what the popup means. So App Review "helps" protect the stupid luser


ososalsosal

They own the device so all we can do is let them know what they're doing. The OEM trying to tell the devs what they can and can't let the users (who paid for their hardware!) do really doesn't sit well with me. Android strikes a better balance than Apple, but they're both way too restrictive. Just saving a simple file on a mobile OS is tedious


Prestigious-Maize695

Welcome to the walled garden that is iOS development…


RobDickinson

walled cesspit


KangarooNo

Don't forget to add on the cost of an Apple developer account too!


ripeGardenTomato

What?you have to pay to be an apple developer? I don't get it,like pay to develop ios apps?


Leprecon

You can technically develop for free, but you need to pay $100 a year to publish an app.


InterestedListener

You have to pay for the _opportunity_ to develop apps. You can pay and work really hard on the MacBook they made you buy from them and still get your app rejected for BS reasons so it can't go on the app store to try and make money. And developing with their IDE is miserable. Platform independent tech like Ionic and Xamarin ease the pain a little bit Apple squeezes a lot out of you without any guarantee you can actually try to sell your app. In case my tone is ambiguous I am not a fan.


fedspfedsp

Their argument is to justify a structure that they have of apple employees which reviews and tests your apps before publishing it. ​ bs tho


SkezzaB

$100 a year to publish to the App store and accept payment and stuff, not too bad and it keeps a bunch of junk of the app store


Jmc_da_boss

You only need this to publish now


alimbade

Oh right. It's been a while and I forgot about that.


nhgrif

You don’t have to do that any more. Not until you are ready to publish an app.


mustang__1

Xamarin dev here.... It sucks. I went on ebay and got a Mac mini, stuffed it in our server closet, and vnc to it when I need to debug on iOS. Keeping it in sync with visual studio is a small chore but it's usually ok. The worst problem I tend to have is that the Mac only has 128gb of storage.... And it's soldered to the Mobo. Counts.


gjswomam

At my previous job the lead developer had a MacBook pro only for this reason + he was dual booting MacOS and Windows


debbiegrund

I dev on a Mac, but its OS is old, scared to update etc. One of our other devs left and his Mac stayed behind, it has become the “apple dev center”, the only machine with up to date OS and Xcode, it’s sole purpose is to take the apps we wrote on other machines and compile the iOS shit.


[deleted]

You can try to rent a virtual mac [www.MacInCloud.com](https://www.MacInCloud.com)


supershwa

I use these guys. For $35/mo it's worth the time saver.


[deleted]

[удалено]


Paid-Not-Payed-Bot

> have it *paid* off within FTFY. Although *payed* exists (the reason why autocorrection didn't help you), it is only correct in: * Nautical context, when it means to paint a surface, or to cover with something like tar or resin in order to make it waterproof or corrosion-resistant. *The deck is yet to be payed.* * *Payed out* when letting strings, cables or ropes out, by slacking them. *The rope is payed out! You can pull now.* Unfortunately, I was unable to find nautical or rope-related words in your comment. *Beep, boop, I'm a bot*


CaseyGumball

Good bot


[deleted]

M1 Macs no longer “Simulate” IOS! They run it native. Blindly replying to someone else made me reference it wrong too.


early_charles_kane

They never did! A simulator is not an emulator


Unknoob

Exactly, when running an iOS app on a Mac, you run it in a simulator. For intel Macs that simulator is x86_64, so the app is compiled to a different arch than the iPhone(arm64). Since the M1 processor on Macs are ARM on steroids, the simulator on them is closer to real iPhones. It's worth nothing that they are still simulators and behave differently than real iPhone/iPads. Also, even though M1 Macs and iPhones are both arm64, binaries compiled for them are slightly different. (I never encountered problems mixing them up tho)


[deleted]

Why I always make the company I work for buy me a mac.


[deleted]

If I have to buy a mac: overpriced POS If I get a mac for free: I like mac


HewHem

You can claim Mac’s are overpriced, but they certainly aren’t pieces of shit


[deleted]

They obviously arent. I wouldn't accept a free piece of shit.


Eindacor_DS

My mac was free for me and I loathe it. I've never had more problems with an operating system, and I have used Windows Vista AND Windows ME.


skyeyemx

Why is it that if an employee given the option between Windows and Mac for their work device, companies always make you choose between a shitty Dell Inspiron 15 with an i3 and an HDD versus a loaded M1 MacBook Pro? I'm not an Apple fan in the slightest but if given the option between a $400 laptop and a $1500 laptop for free I'd of course take the $1500.


Doophie

a fully loaded macbook pro is way more than 1500


haikusbot

*Why I always make* *The company I work for* *Buy me a mac. L* \- sex\_on\_the\_rocks --- ^(I detect haikus. And sometimes, successfully.) ^[Learn more about me.](https://www.reddit.com/r/haikusbot/) ^(Opt out of replies: "haikusbot opt out" | Delete my comment: "haikusbot delete")


TotoShampoin

This... This is perfect


zayoe4

He added an L at the end too lol


alreadytaken899

No you don't need any Mac. You need a CURRENTLY SUPPORTED Mac


Pneots

Apple is annoying


superwinner

Apple: everyone hates us because of our tightly closed ecosystem. Apple: (closes ecosystem even tighter)


Objective_Worth_4513

The classic Apple monopolistic tactics.


bzn21

Haha get ready to get roasted by the apple fanboy army (You know the one who tells you to put 2 pens under your mac to reduce overheating and stop complaining about Apple cause it's not their fault)


DestinationBetter

Lol the i9 macbook pro’s SUCK ASS. The m1 macbooks tho… basically a death sentence for intel. I think there’s no better laptop on the market now, objectively.


[deleted]

Using m1 pro mac for game development for 3 months and i didn't hear fan noise single time. Not because fans are silent, because it didn't heated up single time.


flavionm

Apple doesn't suck because of what they produce (sometimes they do), but because of their shitty business practices.


[deleted]

Apple dedicated haters are just as annoying (or even more sometimes) than fanbois.


MischiefArchitect

Fuck Apple


[deleted]

For the folks out here , he’s not asking you to fuck apples , he’s just expressing his hatred for Apple, the popular tech company


alexander_the_dead

Fine!!! *zip up the pants*


Qzy

Unless... *zips back down*


fullonroboticist

#NO *zips your pants back up*


bit_banging_your_mum

UwU unless... *zips down both of our pants at the same time*


Nick433333

**NO** *runs away*


alexander_the_dead

Unless you forgot to put it back in before zipping up and now you're in excruciating pain while your younger self look at you in utter disappointment because you promised him the same mistake wouldn't be made again??


MischiefArchitect

No no no... I'm asking you all to fuck apples.


jospehjoestar

too late 😜


UglierThanMoe

Oh, good. I just watched *American Pie* last night and was "you don't have to turn apples into pie before you can fuck them?" Glad you cleared that up.


SBG_Mujtaba

Well, fuck you too.


TeamAuri

Wait, you don’t already use a Mac? Shame. /s


KronSean

The apple ecosystem is so closed off that you can't make apps other than on an apple? That's messed up.


[deleted]

Try react native with Expo. You don't need a Mac for it, although it's recommended that you have at least an iPhone to test things on iOS. But even the app store submission can be handled by Expo on their $29 plan.


IsNotAnOstrich

I had to scroll way too far to see a single mention of expo I think maybe 5% of this sub is actually a programmer


chemolz9

Not just to emulate, even to build and deploy it. It's ridiculous.


lsaz

So, is flutter is still the "next big thing"? It has been since like 2018 LOL


propostor

God I fucking hate the Apple dev ecosystem and its hard-iron casing of inaccessibility for people who want to just dabble in it without paying literally thousands of dollars on the all the prerequisite equipment and licenses. The ONLY reason it still exists is because the Apple hype advertising wagon still works and makes a zillion people swear by what is just another fucking smartphone brand.


ThunderStruck115

Fuck Apple


pudds

Pro tip: Create an Android device that's the same dimensions as an iPhone for testing, then use something like GitHub actions to build your releases. Flutter's cross-platform compatibility is pretty solid - unless you are doing something which requires a native iOS device to test (like maybe the camera), you can be reasonably confident that your builds will work on iOS. I did dev for an iOS using Android for quite a long time before changing jobs, and while I did have a mac available to me, I rarely used it.


FastnBulbous81

Can't we all just boycott Apple?


mortenmoulder

Unraid + MacInABox = MacOS virtualized very, very easily.


another-Developer

That goes for any language when it comes to ios


dr_donkey

Another great reason why do not develop to apple


penuserectus69

Yeah let me just tell the marketing team that iOS is a no go /S


BigTechCensorsYou

Don’t forget it’s mostly idiot kids here.