5 ms·
Build iOS Apps on Linux and Windows
- andrewrn 1y agoWoah this is very exciting if true! I love Linux and my framework laptop, but have wanted to make simple iOS apps. That being said, PWA’s are damn capable at this point for basic little apps. I wish more laypeople were aware of the ability to “install” PWA’s. Most non-tech people only think apps come from the iOS App Store.
- Obscurity4340 1y agoAre PWA's subject to Safari's data collection policies or is it different?
- pjmlp 1y agoWhy bothering collecting on the client, when we can collect everything on the server?
- c0wb0yc0d3r 1y agoWhat if there is no server? An offline first PWA could easily be served via a static web host.
- gman83 1y agoFYI, I've been making iOS apps on Linux for a while now, I just use CodeMagic to do the build step - https://codemagic.io/ https://codemagic.io/
- afavour 1y agoYeah I do really wish PWAs got more attention. But it’s very, very difficult to do that last mile of UI polish that makes the average iOS app gleam by comparison. Fingers crossed we’ll see more browser primitive APIs in that area.
- whycome 1y agoThe user flow for installing PWAs is so dumb. It’s deliberate I guess. It doesn’t align with the idea of “installing” or even a marketplace. I think the language is something like “add to home” and it’s not clear that it’s anything other than a shortcut to a website.
- _fat_santa 1y ago> PWA’s are damn capable at this point for basic little apps. I wish more laypeople were aware of the ability to “install” PWA’s. Most non-tech people only think apps come from the iOS App Store. I recently had a conversation with my business partner about our SaaS, he was pushing for us to write a full mobile app for our service and I pushed back and said lets do a PWA instead. From a technical perspective, maintaining a PWA is so much easier in my opinion than maintaining a mobile app, even if you end up writing a new codebase specifically for your PWA. Simply not having to go through Apple saves so much time. As for education the distribution channel is very different. We advertise our PWA in our website and prompt people to install it in our app if we see that they are running the right browser/device. I would say at this point if you have a "business app" that just does regular CRUD stuff and doesn't reach for any mobile API's, a PWA is perfect.
- frollogaston 1y agoThere's always some catch to make sure you can't 100% jump to a PWA and skip the native app. At least PWAs can do push notifications finally.
- weird_trousers 1y agoAwesome! I hope Apple will not get the lawyers out for this project (especially for licensing issues)... but this is promising for the future!
- walterbell 1y agoIt should be usable in Asahi Linux on Mac hardware.
- notpushkin 1y agoNot a practical suggestion, but would it be feasible to run xtool on jailbroken iOS devices? (I mean, those are definitely Apple-branded!)
- walterbell 1y agomaximal malicious compliance! Once Asahi Linux support matures (e.g. Thunderbolt external storage for software RAID) Mac Mini hardware with Linux for CI/CD will be competitive on price/performance/watt. If Apple would re-enable Linux VMs on iPad/iPhone, everyone could be happy. Thankfully Google is now shipping a full pKVM Linux VM ("Terminal") on Pixel phones, including USB-c docking to external keyboard and mouse. Hopefully that "inspires" Apple to restore the Linux VM functionality they removed three years ago. Then iPhone Pro + USB-c dock = Linux desktop for iOS app development, buying time for Apple to converge iOS/macOS/visionOS in +++ years.
- notpushkin 1y agoOkay, but what if what if we run it on Android on an iPhone [0] [0]: e.g. https://projectsandcastle.org/ https://projectsandcastle.org/
- walterbell 1y agoWish Corellium could work with Asahi to upstream Apple device support to mainline Linux.
- justanotheratom 1y agoNote: you can also use it to replace Xcode on macOS for building iOS software! Also, there is an MCP Server to bypass Xcode from Cursor: https://github.com/cameroncooke/XcodeBuildMCP https://github.com/cameroncooke/XcodeBuildMCP
- curtisszmania 1y ago[dead]
- preisschild 1y agoAFAIK the Apple EULA, which you have to agree to before uploading Apps to the App store, requires that you have built the software on Apple Hardware. IANAL, but if I understand correctly that means, the only conformant way to build on linux would be to you install linux on the Apple hardware.
- bitwize 1y agoWith antitrust regulators (including, to a certain extent, the relatively feckless ones in the USA) breathing down Apple and Google's necks, they might not be able to get away with enforcing that rule for long.
- wmlive 1y agoThe GNUstep project offers a similar tool: https://github.com/gnustep/libs-xcode https://github.com/gnustep/libs-xcode
- behnamoh 1y agoWhy does Apple behave like there are no other operating systems or devices in the world? for a long time, even in their keynotes they would compare the new iphones with the last year model, not the flagship androids. and their standards mostly work for themselves, not the rest of the world. for example, most keybindings in Pages are totally different than Word and the rest of the text editing apps (CMD-E is supposed to center things but it doesn't). they created a language (Swift) and kept it closed source for a long time, and then didn't extend support to other OS's. presumably they do this so devs who wanna make iOS apps have to purchase Macs, but quite honestly this is just lazy corporate shenanigans. There are far more important reasons to buy a Mac, and anyone who uses Linux isn't suddenly going to convert to macOS just so they can build iOS apps (they probably have more fundamental issues with non-FOSS software anyway).
- LoganDark 1y ago> Why does Apple behave like there are no other operating systems or devices in the world? Because Apple doesn't care. Or, to be more accurate, Apple didn't care while Steve Jobs was still alive. They never cared what the rest of the world was doing - their mission had always been to build the entire user experience from scratch. The software, hardware, everything. Because in their eyes (or at least in Jobs' eyes) the rest of the world was doing it all wrong. Ever since Steve Jobs died, the company he built has been slowly taken over by the wrong kinds of people. Apple Intelligence, for example, is not driven by any of the philosophy that Jobs would have used. And Apple software updates have been slowly declining in quality ever since his death. My total speculation was that Steve Jobs was autistic and Apple was sort of an autistic revolution. I don't know what Tim Cook is, but he's no Steve Jobs. Apple is slowly devolving into the sort of thinking that is not different and that is a real shame.
- scripturial 1y ago> Apple software updates have been slowly declining in quality ever since his dea For years I installed all Apple software updates instantly and without reserve. These days I wait for at least the .1 release, after being bitten a few times by bugs and workflow breaking pointless changes. > My total speculation was that Steve Jobs was autistic and Apple was sort of an autistic revolution. Yes, I assume his abrasiveness was a result of an autistic drive for perfection combined with an autistic difficulty with picking up on social queues. But I’m not sure it’s possible to know this for sure. So many people simply read it as narcissism (which has overlapping external features) I’m not sure everyone can tell the difference (during a social interaction) between a narcissistic lack of concern for others vs an autistic inability to properly read and react to social queues.
- DownrightNifty 1y agoMega cool! We should all be taking full advantage of the amazing capabilities of the pocket supercomputers we all carry around with us at all times (even if the companies who make them don't want us to or don't care about us). Anything less would be silly! Now Linux and Windows users (the majority of iPhone users) can do easily do so, and that's great. To install your own personal homebrew apps without Apple's approval, use AltStore (Windows) or SideStore (Linux): https://faq.altstore.io/altstore-classic/how-to-install-altstore-windows https://faq.altstore.io/altstore-classic/how-to-install-alts... https://docs.sidestore.io/docs/installation/linux https://docs.sidestore.io/docs/installation/linux
- viktorcode 1y ago> To install your own personal homebrew apps without Apple's approval, use AltStore (Windows) or SideStore (Linux) It works by signing the build with your personal Apple ID, using Apple servers.
- DownrightNifty 1y agoTrue, it's far from ideal, and not entirely without Apple's approval. You need an Apple ID, to accept Apple's EULA (which probably forbids such activities), to accept the risk of your Apple ID being banned [1], to accept the risk of Apple breaking things (intentionally or not), and to continue asking Apple's server for new signatures every week into the foreseeable future. Still better than nothing, for those already fully immersed in the Apple ecosystem, with no hope of escape? (I still use and recommend Android, but I have a spare iPad to play around with, so I enjoy seeing stuff like this come out.) [1] They recommend using a secondary Apple ID, which eliminates most of the risk: https://swiftpackageindex.com/xtool-org/xtool/1.10.1/documentation/xtool/installation-linux#2-Configure-xtool-log-in https://swiftpackageindex.com/xtool-org/xtool/1.10.1/documen...
- bsaul 1y agoi was thinking it would have used the swift build project https://github.com/swiftlang/swift-build https://github.com/swiftlang/swift-build recently released but i didn't find any mention of that. Did i miss something ?
- tonyhart7 1y agohope flutter integrate this fast
- dangoodmanUT 1y agooh they wont
- tonyhart7 1y agowhy lol
- WOOVYWOOVY 1y agoIf you want to build your flutter app for iOS but doesn't have any apple devices, you can try osX (search in github) which basically just a macOS vm with docker. From there just do your stuff with xcode, and classic flutter build.
- tonyhart7 1y agoI already have an working production iOS app on apple store right now but that's doesn't have anything to do with this post