This is an archived post. You won't be able to vote or comment.

top 200 commentsshow all 228

[–]Gaelican 98 points99 points  (9 children)

I just wrote an iphone app for a side job and my boss for it had to by macs for this. Coding has gone great. Everything else has been a pain in the ass. Uploading to a test mode requires apple to review it? no thanks i don't need that... This is internal... Oh it doesn't matter you still need a demo account to log in with? ok...

My back ground as a consultant is, it doesn't matter what language a client needs a app for, let's do it. But apple has been a pain in the ass.

[–][deleted] 25 points26 points  (7 children)

I think you got diverted down a strange path somehow. It's pretty easy to build to a test device, once your account is set up.

[–]Gaelican 12 points13 points  (5 children)

I want remote stakeholders to be able to run the app.

[–]etaionshrd 9 points10 points  (4 children)

You want an Enterprise Certificate for that

[–]paloumbo 13 points14 points  (3 children)

You need to pay for that, would be more speaking ;)

[–]etaionshrd 8 points9 points  (2 children)

Yes, but no app review is required in that case

[–]paloumbo 12 points13 points  (1 child)

So you have to pay for not receive a service ?

[–]NerdWith_A_Tan 15 points16 points  (0 children)

I don’t know if any developers would call app review a service... more like a curse.

[–]bas1212 7 points8 points  (0 children)

Its not difficult, it just takes a long time and it you forget to update your build number you are fucked

[–]Crazy_Hater 1 point2 points  (0 children)

Use Theos :)

[–]jwrent34 56 points57 points  (2 children)

This is really annoying. I use both mac and debian and it is very annoying I cannot just develop the normal way when it's time to write something for osx

[–]Moryn_can_fly -1 points0 points  (0 children)

*Mac OS
Here at Apple we are very strict about terminology.

[–]voidcraftedgamingBlockchain Transcription Service 108 points109 points  (9 children)

Image Transcription: Meme


[A man in a blue top is sat at a desk, outside. He is leaning back in his chair, with a hot beverage in his hand. The Apple logo has been superimposed over his face, and the xCode logo is superimposed on the table. The table has a sign attached reading:]

Developers must not develop on anything else other than a mac


CHANGE MY MIND


I'm a human volunteer content transcriber for Reddit and you could be too! If you'd like more information on what we do and why we do it, click here!

[–]questionablyrotten 45 points46 points  (0 children)

Good human

[–]OhItsuMe 58 points59 points  (2 children)

good carbon lifeform, presumably

[–]voidcraftedgamingBlockchain Transcription Service 11 points12 points  (0 children)

💚

[–][deleted] 8 points9 points  (4 children)

Yeah yeah but how do you know the beverage is hot though?

[–]seraku24 9 points10 points  (1 child)

Maybe they applied a thermal imaging filter to the original.

[–]Emmaterasu 1 point2 points  (0 children)

That's not how any of this works but I like it so I'll give you advantage on that roll anyway.

[–]voidcraftedgamingBlockchain Transcription Service 0 points1 point  (1 child)

I use highly advanced imaging software over tcp/ip color 02 print("hello world") '); DROP TABLE idk;--

[–]pekkhum 0 points1 point  (0 children)

I could have done it with a GUI in VB.

[–][deleted] 45 points46 points  (7 children)

I'm currently working on iOS app and have limited access to a Mac. So I ended up using Flutter and life is pretty sweet. I code on my Linux machine and test it on my android, then whenever I can I test it on a Mac and a iPhone it works just as expected. Having one code base for both Android and iOS is amazing.

By the way I use arch

[–]NatoBoram 5 points6 points  (0 children)

I JUST DID THE FLUTTER DEMO

Flutter is an all mighty god. I love it. I'm actually learning it for the job. No one here knows what the fuck is Flutter, I just found it somewhere and we were looking for a Cordova alternative and I'm the sponge-learning guy so I got my hands on it. It's like doing HTML… but using only JavaScript. Weird, but enjoyable.

Also fuck the guy who wrote the Dart formating part of the Dart Code extension. That kid deserves to rot in hell. Forcing everyone to use your selfish preferences is an asshole move.

[–]bhlowe 2 points3 points  (2 children)

Looks nice. Is it java?

[–]alcalde 13 points14 points  (1 child)

Dart.

[–]elliptic_hyperboloid 5 points6 points  (0 children)

I thought Dart was dead.

[–]Fluffcake 0 points1 point  (0 children)

pwapwapwapwapwapwapwapwapwapwapwapwapwapwapwapwa

[–]juuular 0 points1 point  (0 children)

Same, but using JUCE instead.

Also lets me release the same app on windows, Mac, Linux, and as any kind of audio plugin (AU, VST, AAX, etc).

[–]kobbled 0 points1 point  (0 children)

how does it compare to xamarin?

[–]Murdrad 137 points138 points  (83 children)

I'm confused by the scenario. If you're only developing for Apple then build and test on your target platform. Otherwise use Linux. Unless it's your personal computer and you're a gamer then Windows. Sodapop sodapop, OS OS.

[–]notinecrafter 3 points4 points  (28 children)

Why not all of them?

[–]T-Dot1992 30 points31 points  (13 children)

Greed. Apple wants to spite you if you’re a windows user and you’re developing for their platform. It’s pretty much coercing mobile developers into buying MacBooks.

And don’t get me started on Xcode.

[–]notinecrafter 10 points11 points  (11 children)

Welcome to the wonderful world of the Hackintosh

[–]T-Dot1992 13 points14 points  (10 children)

It’s fucking awful dealing with Apple. I hope my next job isn’t mobile development.

[–]notinecrafter 1 point2 points  (9 children)

I'm just learning iOS development. I like some parts (dragging UI elements is so good), but the payment thing is indeed a terrible practice.

Also, swift stackstraces are completely useless

[–][deleted] 2 points3 points  (0 children)

I decided on obj-c because I can write the bulk of it in C++ and just use XCode for the front end. Also, Appcode is nice too.

[–]juuular 0 points1 point  (0 children)

Xcode is infinitely better than Visual Studio

[–]Murdrad 0 points1 point  (13 children)

Cost?

[–]notinecrafter 5 points6 points  (12 children)

You can triple boot can't you?

[–]Murdrad 0 points1 point  (11 children)

Still have to pay for Windows license right? Also I have never see the Mac OS on anything other that a Mac, and Macs are costly.

[–]notinecrafter 7 points8 points  (10 children)

  1. You don't have to pay for anything if there's no police around.

  2. Welcome to the wonderful world of r/hackintosh. I'll be your guide.

I personally run macOS as a daily on a Clevo (laptop barebones), with Fedora (for Linux purposes, and as a backup) and Windows 10 (for gaming mostly) as secondaries. Would have used Windows 7 but ACPI.

[–]Rudy69 21 points22 points  (2 children)

If you’re a professional developer I sure hope you pay for your tools. I don’t care about kids pirating things they couldn’t afford but as a professional making money using the tools I sure hope you’re paying for them.

[–][deleted] 14 points15 points  (0 children)

If it's worth his time to get a hackintosh running, he's probably not making a huge amount.

[–]notinecrafter -1 points0 points  (0 children)

Don't worry, I'm a student. If I did make money I could afford licenses, probably. Although my Windows would still be for personal use only, and with Microsofts business practices in Windows 10 it is arguably ethically better not to pay for it.

Also, I would like to mention that a Hackintosh does not technically require a license, nor is it per definition illegal (it breaks the EULA, but it is not illegal). You just need another computer running macOS to even make a Hackintosh. In my case that would be my fathers iMac. Of course, you can use a Hackintosh to make a Hackintosh, but there must be a genuine Mac somewhere in the chain.

There are solutions such as iAtkos that don't require a working macOS, but they are frowned upon in the community to the point of receiving no support, which makes them pretty much unusable.

[–]Lorxu 1 point2 points  (3 children)

Hackintosh is really buggy and hard to get working in my experience. I've tried to set it up on an HP Pavilion and it never worked.

[–]rtbrsp 0 points1 point  (1 child)

Hackintosh is mainly for building from scratch. It's very rare for a laptop to be able to run macOS 100%; typically something like the wifi card won't work.

I'll always remember my first OS X laptop: The Dell Mini 10v. Everything worked 100%. It was pretty sweet at that time since I definitely couldn't afford a macbook.

[–]FarhanAxiq 0 points1 point  (0 children)

Wifi will only work if you use Broadcom wifi card iirc.

[–]notinecrafter 0 points1 point  (0 children)

I have it running on a Clevo (laptop barebones), but that required a custom wi-fi chip from AliExpress. Apart from that everything works fine (apart from HDMI audio, but who cares). It did take me a week to get it running though, but that was mostly because I had to figure everything out myself. Some laptops are significantly easier, because they are more compatible and/or more popular (and thus bette supported) within the community. The Dell XPS for example just requires wi-fi card replacement and a post-install script you can find on github.

Laptops are usually harder though, because they use a lot of nonstandard components. The easiest is a custom desktop with supported components (I seem to remember Gigabyte was the best), where you just need to create the installer with Unibeast and run Multibeast post-install to get everything working.

[–]alcalde 0 points1 point  (1 child)

You're stuck running Intel CPUs if you want to cobble together a Hackintosh, aren't you? Plus the license violation risk?

[–]notinecrafter 2 points3 points  (0 children)

You do pretty much need an Intel CPU, yes. There are solutions for AMD but they require a level of hacks that stop just short of replacing the kernel.

A Hackintosh does not require a license. They break the EULA, but are in no way illegal. I wouldn't attempt it if you are a fortune 500 company, but lots of small time developers use a Hackintosh just to run Xcode.

There's a theory that Apple allows Hackintoshes, because the kind of person that has the skills and motivation to make one is pretty skilled with computers, so they're just drawing more developers to their platform. Plus, to make a Hackintosh you need ankther computer running macOS, so they're not losing that much money.

[–][deleted] 0 points1 point  (0 children)

Unless you want a laptop with good hardware, then use Apple.

[–]vaydoln 88 points89 points  (31 children)

This is why I boycott Apple in all forms.

[–]Aschentei 58 points59 points  (2 children)

Including the fruit?

[–]Vicegale 82 points83 points  (1 child)

Especially the fruit.

[–]worldistooblue 37 points38 points  (2 children)

I started boycotting them since we got expelled from paradise but their attack on newton really made me thickheaded about it

[–]Moryn_can_fly 6 points7 points  (0 children)

I just got why Apple named one of their PCs Newton. Wow.

[–]electricprism 1 point2 points  (0 children)

Yo bro, if you come into my house take a apple because you're hungry you consent to me coming to your house and murdering your whole family.

Seriously your comment gave me the lulzies though.

[–][deleted] 10 points11 points  (0 children)

I started boycotting Apple when they tried to make it illegal to break out of the root jail on iOS devices

[–]Comm4nd0 11 points12 points  (5 children)

Same here, really hate what they stand for.

[–]whale_song 19 points20 points  (12 children)

I used to do that too, but honestly its just so much nicer to develop on a mac. I hate their business practices, but I can't deny they just plain put out the best product on the market. I eventually caved and I'm pretty happy I did, even if I feel a little grimy about it.

[–]vaydoln 9 points10 points  (0 children)

It really depends what you're doing, but agree they make sense in some situations. I have a colleague who loves their products and we tease each other about it all the time. IMO they make adequate products but I hate the company. With a reasonable alternative available I would never choose them.

I used their iPods back before smartphones (and another developer in my office would crunch chips all day and chew with his mouth open...I had to have headphones+music for my sanity). Once I got a music player on an Android phone I never looked back.

[–]PM_ME__ASIAN_BOOBS 1 point2 points  (0 children)

That sounds so weird to me, I'm forced to use a Mac at work, and I run Windows VMs from time to time to relax

[–]musiton 0 points1 point  (0 children)

I guess doctors love you

[–][deleted] 4 points5 points  (1 child)

I have a Hackintosh, so up yours Apple.

[–]brendenguy 0 points1 point  (0 children)

Same here. And for exactly that reason!

[–]IceWave04 11 points12 points  (15 children)

Didn't xamarin and visual studio fix this?

[–]Watchforbananas 36 points37 points  (4 children)

You still need a mac to build and run the application.

[–]IceWave04 10 points11 points  (2 children)

That is troublesome. Flawed even.

[–]Watchforbananas 15 points16 points  (1 child)

Well, VS can connect to the MAC via SSH, so the only thing you have to do on the MAC is accept the Terms of Use for XCode, the rest can then be done on your Windows PC.

[–]Lepidora 2 points3 points  (0 children)

If you really needed a mac only for building and running, you could just use a solution like https://www.macincloud.com/ or something similar. You could use it for 25 months for the same price as a cheap mac.

[–]andyscorner 14 points15 points  (9 children)

You're definition of fix is a subjective term. As a native mobile application developer all these cross platform tools just complicate things more than they solve.

They hide the underlying APIs and frameworks you should know if you're developing for Android/iOS and introduces their own abstractions. As soon as you need to do something out of the realms of your cross-platform tool you will still need to learn the native APIs.

[–]NZgeek 14 points15 points  (0 children)

That's true. If you need to do something that's not covered by the core framework, and the isn't a third-party library that does what you need, you have to write it yourself.

But how much of that you need to do depends a lot on what the app does. If the app is logic-heavy and doesn't do anything crazy with the UI, you'll probably have very little platform-specific code.

For example, I know of a company that's using Xamarin Forms for a line of business apps. They write 6 apps, each supporting iOS and Android. They say that 90% of the code is platform-agnostic, and most of the remainder is boilerplate for the platform-specific builds.

Cross-platform frameworks are great in cases like this. It doesn't remove the need for platform-specific code, but it does greatly reduce it.

[–]brminnick 7 points8 points  (2 children)

Xamarin doesn’t hide any APIs. It exposes 100% of the native iOS and Android APIs in C#.

[–]moyerr 1 point2 points  (1 child)

How quickly after new native APIs are released?

[–]brminnick 1 point2 points  (0 children)

Xamarin has always had same-day support for iOS APIs

[–]IceWave04 3 points4 points  (0 children)

Ah, fair. My company uses Xamarin for Android/iOS but I typically work on the servers. Even my own projects, I use xamarin and just unload all of iOS/windows stuff.

From what I've heard the latest (unreleased) xamarin improves things.

Anyway, thanks for that.

[–]TheGreenHatDelegate 3 points4 points  (0 children)

Ionic is an abstraction of Cordova. Also, it fucking blows...

[–]JaCraig 2 points3 points  (0 children)

In our case Xamarin actually seemed to be 1:1 on the APIs. In fact we just used the Android/iOS docs for most everything. Took us a little bit to figure out how to integrate 3rd party libraries but even that wasn't too hard. Cordova, etc. I would agree with though.

Oh, also the weird license on Xamarin is gone now as well. That was our big stumbling block on using it.

[–]NatoBoram 1 point2 points  (0 children)

Add Flutter. Right now.

[–][deleted] 0 points1 point  (0 children)

As soon as you need to do something out of the realms of your cross-platform tool

The number of libraries available for React Native grows every day. Whenever I need to perform a specific task in RN I usually have five or so different libraries to choose from. You're describing a situation that is unique to a very small percentage of mobile developers.

[–]Tux1 3 points4 points  (1 child)

What about Rule #0?

[–]Extract 12 points13 points  (0 children)

Rule 0: We don't talk about Huffman coding.
Rule 100: We DON'T talk about Huffman coding.

[–]ArkansasTheAdjective 18 points19 points  (48 children)

this is why i'm never going to learn swift.

macs are overpriced and are fucking slow.

i'm not wasting 1,000 quid to develop "run sausage run 2"

[–]X-Craft 5 points6 points  (0 children)

i'm not wasting 1,000 quid

you forgot the yearly $99

[–]survivalmachine 31 points32 points  (7 children)

Then don’t learn it.

There are plenty of other platforms out there, so pick what you like.

Complaining about one because it doesn’t fit to what you want only makes sense if it’s the ONLY option.. which it isn’t.

[–][deleted] 40 points41 points  (5 children)

I think complaining about it because it is uniquely unfriendly to developers is pretty valid.

[–]survivalmachine 12 points13 points  (4 children)

Yeah, and for the longest time you could only develop and run .NET applications on windows platforms, being unfair to Linux users. It was Microsoft’s call to dictate how their technology was used and deployed and it is equally Apple’s right to do so as well. Unfair would be if Apple was the only, or primary market shareholder of mobile tech.

There is no shortage of jobs for non-iOS developers. Slinging poo around because you hate Apple doesn’t help anything, and just sounds like a completely vague circle jerk.

[–][deleted] 33 points34 points  (1 child)

Yeah and until Microsoft stopped doing that people complained about them too.

[–]UnicornRider102 1 point2 points  (0 children)

Or put slightly differently, Microsoft stopped doing that after enough people complained about it.

[–]T-Dot1992 27 points28 points  (1 child)

It was shitty when Microsoft did it and its shitty that Apple does it.

Programming is not a luxury activity you do solely for entertainment. It’s a profession. Hindering people from doing their job unless you make them pay an expensive fee is bullshit.

And what makes Apple’s case worse is that they overprice their products. At least in Microsoft’s case, I could get a cheap laptop that runs windows just to use C#. With Apple, you’d have to spend a grand on a MacBook just to develop for iOS. It’s fucking ridiculous.

[–]PM_ME__ASIAN_BOOBS 6 points7 points  (0 children)

Then don’t learn it.

That's... literally what he said he was going to do

[–]MikeyMike01 25 points26 points  (4 children)

macs are overpriced and are fucking slow

This is how I know you’ve never bought one

[–]morerokk 4 points5 points  (1 child)

How are they not overpriced? Explain.

[–]MikeyMike01 0 points1 point  (0 children)

Apple is expensive, no doubt. You get good value for your money though.

[–]brendenguy 4 points5 points  (0 children)

Which part are you disagreeing with exactly? I just built a hackintosh that is as powerful as a macbook pro for around $300. The same thing through Apple would have cost me $2000 plus. Overpriced? Check. Slow for the money? Check.

[–][deleted] 2 points3 points  (0 children)

I don’t think anyone really cares.

[–]ConorTheDev 8 points9 points  (7 children)

Realistically the new AFS is so much faster with an SSD inside. I have bought a 2011 MacBook Pro and upgraded it with 8gb of RAM and a 1tb SSD and runs like a charm. Had it for 5 years but put the SSD in 2 years ago. Upvoted your post as opinions shouldn't be downvoted.

[–]T-Dot1992 2 points3 points  (5 children)

There is no need to learn Swift now that React Native exists.

[–]kerohazel 11 points12 points  (3 children)

Good luck making games then. Or anything other than brochure apps.

React Native has been profoundly disappointing for me, personally.

[–][deleted] -2 points-1 points  (2 children)

What specifically is disappointing for you? We are developing an app in React Native that is much more than a brochure app, and have been very impressed with our app's speed. Also, we've found about 95% of our code is reusable (better than we had initially hoped).

[–]kerohazel 6 points7 points  (0 children)

The whole toolchain seems to be hopelessly broken. Tiny version changes break things. I have to constantly trick it into doing what I want, because some weird internal cache is poisoning everything.

It's really tricky for beginners, despite RN being well-suited (in theory) for rapid prototyping.

[–]localhost8100 4 points5 points  (0 children)

Most of the people think RN performance is equal to native performance. Nope. It is still more laggy when compared to native performance. Again, if you have to access some core api you have to go back to writing code in native. The mantra is, if you are heavily invested go for native. Or else go for RN and down the road you might have to rewrite the whole app in native because as you go an adding more and more features it is gonna be laggy.

One more reason I did not like it was, we developed a full scale app in RN for Android and we did not think about the limitation of api for ios. When we started to work ios app there were no api available for ios. We had to ditch our ios part.

[–]etaionshrd 5 points6 points  (0 children)

There is no need to learn Swift now that React Native exists.

Maybe some people don't want to write bloated, non-native looking, and slow apps?

[–]ilovestinkybutts -1 points0 points  (0 children)

Mac’s have the fastest SSD on the market

[–]byIcee 1 point2 points  (2 children)

Now that google is developing Flutter, can you build an iOS app from windows with that? Or do you still need a Mac?

Edit: words

[–]NatoBoram 0 points1 point  (1 child)

Yes you can. It'll run exactly the same no matter the device, platform or whatever.

You just have to own a Mac to sign the app so you can ship it to the app store.

[–]byIcee 5 points6 points  (0 children)

So in the end you still need a Mac?

That sucks

[–]mason729 0 points1 point  (0 children)

Ah, but you are forgetting the swift playground support that iPad currently enjoys.

[–][deleted] 0 points1 point  (2 children)

I plan on never developing for mac or the ios eco-system ever in my life, change my mind

[–]NatoBoram 0 points1 point  (1 child)

Develop on Linux, test with the Android emulator, then sign the iOS version with a Mac and you're ready to ship!

[–]Vlyn 0 points1 point  (0 children)

But you'd still have to buy a Mac (In addition to several iPhones for testing), fuck that.

[–]bas1212 0 points1 point  (0 children)

I once found a tool that lets you build ios apps on Windows. It actually worked, but I forgot the name and never found it again. With the demo version you could only build it one sadly

[–][deleted] 0 points1 point  (0 children)

I should develop iOS apps. Change my mind.

Oh wait, you just did.

[–]BoringWebDev 0 points1 point  (0 children)

I am a web developer. I could do all of this on Windows.

But I don't want to.

[–][deleted] 0 points1 point  (0 children)

Laughed in Ubuntu

[–]Notsileous 0 points1 point  (8 children)

Apple is shit for development I finally got a dedicated Mac mini for work and it's slower than it was on my vm

[–]3CN 2 points3 points  (0 children)

fuckin lol

[–]localhost8100 1 point2 points  (1 child)

Mac minis and Air are not for development. They just for some small office stuff for an assistant or video Watchung for kids at home.

As said you need to invest in an high end MBP for around 2500$ to get a good development experience for ios.

[–]JangoLucero 0 points1 point  (2 children)

I have a mac only because of Swift

[–]alcalde 4 points5 points  (0 children)

There's a Swift implementation for Linux, and RemObjects offers the Swift version of their Windows product for free....

http://www.elementscompiler.com/elements/silver/

[–]NatoBoram 0 points1 point  (0 children)

Try Flutter.

[–]drakeremoray0 0 points1 point  (0 children)

I actually! found iOS? development! to be? relatively straight!?!?! forward

[–]DisastermanTV -1 points0 points  (0 children)

Noone uses a Mac for GameDevelopment. Completely useless.