Earlier quoted context omitted.
xcrun -sdk iphoneos clang yellow.asm, pack it into an IPA and sign it
Hmm doesn't work. Here's the error log (I'm on Mac M2): https://gist.github.com/anta40/60f62c803a091ad0415d60f8cac55...
Hello-World iOS App in Assembly
21–30 of 62 posts
Re: Hello-World iOS App in Assembly
#22This kind of thing is how you actually learn what's under the hood. Everyone's building with React Native and Flutter, which is fine until something breaks. Then you're stuck Googling black magic. Starting from assembly teaches you the real cost of abstraction.
Re: Hello-World iOS App in Assembly
#23There is also an iOS app implemented in C here: https://stackoverflow.com/a/10290255/8427
snibbetracker is an example of a C/SDL iOS app. https://apps.apple.com/de/app/snibbetracker/id1065797528
Re: Hello-World iOS App in Assembly
#24This kind of thing is how you actually learn what's under the hood. Everyone's building with React Native and Flutter, which is fine until something breaks. Then you're stuck Googling black magic. Starting from assembly teaches you the real cost of abstraction.
This is an excellent argument for not using assembly, actually
And tbh I'm kinda surprised how little assembly code it is, less than most UI framework hello-worlds in high level languages ;)
Re: Hello-World iOS App in Assembly
#25ARM Assembly is a much more Byzantine creature, than the old 8- and 16-bit versions I used, way back in the Pleistocene.
I’m always a fan of starting from the “bare metal,” to learn, but these days, it’s a long trip. When I was just a wee sprog, it was only a couple of steps away.
Re: Hello-World iOS App in Assembly
#26Very cool, if impractical (it’s likely that you’d never get an ASM app through the App Store Approval process). ARM Assembly is a much more Byzantine creature, than the old 8- and 16-bit versions I used, way back in the Pleistocene. I’m always a fan of starting from the “bare metal,” to learn, but these days, it’s a long trip. When I was just a wee sprog, it was only a couple of steps away.
And there will be corporate tax per each EU country, it's ridiculous corporates are raking huge money here and paying basically nothing on taxes, well only in Ireland and they're having party.
Anyway, asm is great if you are using iOS emulator and need to do something and since you have root there, well :) (not apple meme simulator)
Re: Hello-World iOS App in Assembly
#27Very cool, if impractical (it’s likely that you’d never get an ASM app through the App Store Approval process). ARM Assembly is a much more Byzantine creature, than the old 8- and 16-bit versions I used, way back in the Pleistocene. I’m always a fan of starting from the “bare metal,” to learn, but these days, it’s a long trip. When I was just a wee sprog, it was only a couple of steps away.
It's likely in future, you won't need app store approval process. I hope that EU will nuke Apple with some huge fines. And there will be corporate tax per each EU country, it's ridiculous corporates are raking huge money here and paying basically nothing on taxes, well only in Ireland and they're having party. Anyway, asm is great if you are using iOS emulator and need to do something and since you have root there, w…
Re: Hello-World iOS App in Assembly
#28This kind of thing is how you actually learn what's under the hood. Everyone's building with React Native and Flutter, which is fine until something breaks. Then you're stuck Googling black magic. Starting from assembly teaches you the real cost of abstraction.
Is this really low level though? Because its hooking UIKit which is very high level relative to ASM. I'd be really curious to see an app draw on iOS without UIKit. I don't know if thats possible.
If you want to “technically” avoid UIKit, you can drop one step lower. UIKit is implemented on CoreAnimation. A bare UIView is nearly a pass through wrapper around CALayer. It wouldn’t be hard to build your own custom UI on CALayers. The old CA tutorials for implementing a ScrollView from the ground up are still floating around out there.
Re: Hello-World iOS App in Assembly
#29Re: Hello-World iOS App in Assembly
#30Earlier quoted context omitted.
Of course it is. You just have to reimplement UIKit in ASM, no big deal…
And even that won't do it, because within the constraints of iOS, eventually that framebuffer with software rendering has to be displayed on the screen via an OS API, which is UI Kit.
If you enable the JIT entitlement for personal development, then bundle a mach-o into an entitled app. Or compile it directly on the app and mprotect-x to execute it. Is there something else you can’t do that I’m not considering? I might give this a try.