4 ms·
Thanks for the pointer and explanation of how you work -- I have a ton of questions about this: - 32bit linux, still? Is there any reason you haven't gone 64,
by hardwaresofton 8y ago
Thanks for the pointer and explanation of how you work -- I have a ton of questions about this:
- 32bit linux, still? Is there any reason you haven't gone 64, or have you just been on some rock solid distro that never felt like it needed the upgrade?
- Cydia Impactor[0] requires a jailbroken iPhone, does it not? What version of iOS are you running on the actual device? I understand that you're compiling with iOS6/7 SDKs but I wonder how long they'll be supported, and how fluently they work on iOS12 for example.
- Are there any limitations on versions for the Cocoa SDK that you use for building OSX apps? Do you worry at all about EoLing of support or anything like that?
> I only use Objective-C, I haven't tried cross compiling Swift, simply because I do not like the language.
Could you explain this and why? While I'm not necessarily a Swift fan because I don't think it does particularly well in comparison with some of the recent languages that I really enjoy using, I found Objective-C to be pretty jarring. Clearly you know a thing or two about the toolchain and Objective C, I'd love to know why you prefer it to Swift or why you think Swift is not worth switching over to just yet (if at all).
This is kind of random but maybe the thought will be interesting -- I've often wondered why it's not possible to actually just build and run XCode (or at least the lower level toolchain) on an apple device like a phone. Has anyone heard of anything in this area?
[0]: http://www.cydiaimpactor.com/ http://www.cydiaimpactor.com/
- JesseLivermore 8y agoI'm still using 32bit linux because I'm on Slackware and the multilib situation is too annoying for me to deal with. I tried to upgrade to 64bit Slackware but I need Wine, and it's much easier to set up on a 32bit machine. I don't want to switch to another distro because most of them use systemd, and I use my own custom window manager. Cydia Impactor does not require a jailbroken iPhone, it is generally used to initiate the process of jailbreaking, by sideloading an app onto the device. I have an SE running iOS 12, an iPad Mini running iOS 10, and a 4S running iOS 6. iOS 10 is the last version to support 32bit apps. If I compile with the iOS 7 SDK, the app will still run with later versions of iOS, it's only if you need the header files for some of the API's that are only in the later versions of iOS that you should use a more recent SDK to make your life easier, but you can still send the messages via Objective-C without the actual header files (because of introspection the API is available at runtime). I'm not sure what you mean by limitations for the Cocoa SDK and OSX apps. I do this for my own personal code, it's not something I distribute so I don't worry about End of Life It's just that I started with C and Objective-C, and it's a lot of work to bridge between Swift and C, so I'd rather stick to Objective-C. Also there is no 32bit Swift runtime (that I am aware of). I just like being able to run my code on older 32bit processors. Objective-C is just so dynamic and the fact that it's just a thin layer on C is very appealing to me. I'm more fond of the Objective-C runtime itself than I am of Foundation. I have a jailbroken 4S with iOS 6, and you can install clang and all the tools you need to compile an app on the device itself. No need for Xcode at all unless you need storyboard or to submit an app to the App Store. Most of the toolchain can be downloaded from Cydia, and you can read the instruction for Theos to get an idea of how it works, but you don't need to use Theos, you can compile it with clang yourself (on the device).
- ryandrake 8y agoAs a macOS/iOS developer who more or less does things the “by the book” Apple way, using Apple HW, Xcode, etc. I don’t know whether to give you a high-5 or shake my head! It’s fascinating to know there are developers like you out there, doin’ it the hard way just to target “legacy” hardware. Very interesting setup.
- JesseLivermore 8y agoI prefer if you shake your head :) But believe it or not, I think it's easier to do it manually than to use Xcode because it gives you more flexibility. When things are hidden from you, it makes things seem more complicated than they actually are. Most of the functionality is built into clang.
- hardwaresofton 8y ago> I'm still using 32bit linux because I'm on Slackware and the multilib situation is too annoying for me to deal with. I tried to upgrade to 64bit Slackware but I need Wine, and it's much easier to set up on a 32bit machine. I don't want to switch to another distro because most of them use systemd, and I use my own custom window manager. Believe it or not, I was 100% going to guess that you were running Slackware. > Cydia Impactor does not require a jailbroken iPhone, it is generally used to initiate the process of jailbreaking, by sideloading an app onto the device. Thanks for clearing that up. So as long as I can find a way to build the IPA you're good to go. > I have an SE running iOS 12, an iPad Mini running iOS 10, and a 4S running iOS 6. iOS 10 is the last version to support 32bit apps. If I compile with the iOS 7 SDK, the app will still run with later versions of iOS, it's only if you need the header files for some of the API's that are only in the later versions of iOS that you should use a more recent SDK to make your life easier, but you can still send the messages via Objective-C without the actual header files (because of introspection the API is available at runtime). > I have an SE running iOS 12, an iPad Mini running iOS 10, and a 4S running iOS 6. iOS 10 is the last version to support 32bit apps. If I compile with the iOS 7 SDK, the app will still run with later versions of iOS, it's only if you need the header files for some of the API's that are only in the later versions of iOS that you should use a more recent SDK to make your life easier, but you can still send the messages via Objective-C without the actual header files (because of introspection the API is available at runtime). Thanks for the detailed information, it's great to see that the setup is working with such recent OS versions and on top of it all Objective C has afforded you a little bit of leeway with the magic of message passing. > I'm not sure what you mean by limitations for the Cocoa SDK and OSX apps. I do this for my own personal code, it's not something I distribute so I don't worry about End of Life Got it -- sorry I was assuming that it was something you distributed -- given the fact that you were running a non-mac system. > It's just that I started with C and Objective-C, and it's a lot of work to bridge between Swift and C, so I'd rather stick to Objective-C. Also there is no 32bit Swift runtime (that I am aware of). I just like being able to run my code on older 32bit processors. Objective-C is just so dynamic and the fact that it's just a thin layer on C is very appealing to me. I'm more fond of the Objective-C runtime itself than I am of Foundation. > I have a jailbroken 4S with iOS 6, and you can install clang and all the tools you need to compile an app on the device itself. No need for Xcode at all unless you need storyboard or to submit an app to the App Store. Most of the toolchain can be downloaded from Cydia, and you can read the instruction for Theos to get an idea of how it works, but you don't need to use Theos, you can compile it with clang yourself (on the device). Thanks so much for sharing -- this is something I would love to look into some day. Jailbreaks have mostly kept up and since iPhones often have best-in-class hardware it seemed like a natural choice