For example:

  • You MUST use Apple’s own apps (iMessage, Phone, etc.) as well as Apple’s own App Store
    • To be fair, the EU is doing work to solve this particular issue…but most of the reforms are only for EU customers
  • You have to use WebKit when developing a browser for macOS iOS and iPadOS, you can’t use Gecko or Blink
  • iOS apps must be developed using XCode IF YOU WANT TO PUBLISH IT ON THE APP STORE, which is only available on MacOS…

That last one is weird. Why can’t you compile Swift outside of MacOS (i.e. third party IDEs)? Why can only XCode do it?

edit: Gecko and Blink based browsers are available on macOS. I learnt something new today. Not for iOS or iPadOS though. Also, Xcode is only a requirement for publishing in the App Store. You are able to compile Swift in any OS. You’ll just need to distribute the app via sideloading and/or third-party app stores (in the EU)

    • sbird@lemmy.worldOP
      link
      fedilink
      English
      arrow-up
      7
      arrow-down
      1
      ·
      2 days ago

      I’m just interested to know how they’re able to make it so that you HAVE to use XCode (which is only available on MacOS)

      • 4am@lemm.ee
        link
        fedilink
        arrow-up
        7
        ·
        edit-2
        2 days ago

        Why wouldn’t they be able to? Acceptance to their App Store requires that apps be built with a trusted tool chain. Their reasoning is that it’s harder to built malicious apps that might make it past review if you’re using their tools.

        Also: Money

      • Dark Arc@social.packetloss.gg
        link
        fedilink
        English
        arrow-up
        4
        ·
        2 days ago

        You don’t really; a cross compilation with a compiler that can generate the ARM instructions for Apple’s ARM CPUs should largely just work.

        However, it’s impossible to test the produced app without using an iPhone or MacOS’s tools to simulate running on an iPhone. You also are just going to have way less of an uphill battle using Apple’s tools and you’re likely to get better optimized binaries.

        You also don’t have to build iOS apps with Swift; C++ and things like Qt can be used.

        • paperplane@lemmy.world
          link
          fedilink
          arrow-up
          4
          ·
          2 days ago

          Also the iOS SDK isn’t freely available, so you’d have to copy that out of an Xcode installation… but given enough time and effort, you could almost certainly hack together a cross-compilation config for Clang that compiles an unsigned iOS app on Linux. Signing it might in fact be the bigger issue, since I’m not aware of any tools that sign Mach-O binaries on Linux.

          • Dark Arc@social.packetloss.gg
            link
            fedilink
            English
            arrow-up
            2
            ·
            2 days ago

            Something to implement signing given the key to sign with could almost certainly be created.

            I think the biggest reason this stuff hasn’t really happened is … there’s not much motivation and Apple will likely respond to such efforts unkindly so you might need to be a bit of a curious masochist (or at least in strange circumstances) to attempt such an effort 😅

      • ExtremeDullard@lemmy.sdf.org
        link
        fedilink
        arrow-up
        9
        ·
        2 days ago

        Just because people like being abused doesn’t mean it’s not abuse.

        Developers get shafted pretty hard by Apple, if nobody else.

      • heavydust@sh.itjust.works
        link
        fedilink
        arrow-up
        9
        arrow-down
        2
        ·
        edit-2
        2 days ago

        I don’t use iOS anymore but users don’t complain about the walled garden, or they would buy an Android. They want their phone to work reliably like a washing machine with a few buttons, and it’s an acceptable personal choice.

        Edit: now you’re downvoting the fact that people have different preferences than you. Pathetic.

        • magnetosphere@fedia.io
          link
          fedilink
          arrow-up
          1
          ·
          2 days ago

          I’m not a software hobbyist anymore. I don’t want to spend hours doing research and trying to de-enshittify my new phone. I know Apple is ripping me off, but if one believes that time is money, it’s actually tolerable. Then there’s the UI, which I believe is the best in the market.

          I’m not a fan of Apple’s walled garden, but for me, it’s the lesser evil. If someone goes with Samsung or something, though, I’d be a dick if I was a snob about it. Use what you like!