Does Intel Mac can programing material M1 apps? - ios

First of all, I know that it is better to buy new electronic devices than old ones.
My intention is to learn to program, including but not limited to programming iOS apps, iPad apps, and MacOS programs.
Currently, I'm deciding between a used, old Intel Mac device (because it's cheaper [?]) and an M1 device to choose between.
I don't have development needs such as games, so the GPU may not be important[?] .
I learn from online search engines that Intel Mac compiled iOS programs require Rosetta Translation on M1 devices? Even the universal binaries need Rosetta Translation?
Frontier developers basically have M1 as a development and testing device, and I didn't search for questions about it.
Ultimately, the only question is, M1 devices run mobile app natively, so does this mobile app have to be compiled by M1 devices?
Of course, I know there is a lot of software out there that may not all be adapted to the arm architecture, but I still want my compiled mobile apps to run on the M1 device without Rosetta Translation.

Related

If I am developing iOS apps using react native on apple m1, will the builds have compatibility for devices not using the ARM chip?

I am new to iOS development and want to attempt to build an app using react-native cli. I am grabbing an apple device within next couple days and have been considering the new M1, however, I have not been able to figure out if the apps I build on the m1 would work on older devices (specifically phones) that do not have the m1, considering a majority of people fall into this category.
Is the m1 a good purchase at this point? or should I go with an intel based mac?
I feel dumb for not completely understanding why or why not they would work, so if someone could explain the apps would or would not be compatible in laymans terms it would really help my confidence with this purchase. Would I have to run my apps with rosetta?
I'm also getting a new Macbook pro with a M1 and I also develop React Native and iOS apps and after careful research I can safely say that with Xcode 12 you should be able to build your react native app for both chipsets.
(as per my comments) here is the snippet from Xcode's landing page -
Xcode 12 is built as a Universal app that runs 100% natively on Intel-based CPUs and Apple Silicon for great performance and a snappy interface.* It also includes a unified macOS SDK that includes all the frameworks, compilers, debuggers, and other tools you need to build apps that run natively on Apple Silicon and the Intel x86_64 CPU.
Until a month ago applications such as VSCode would not have functioned on your M1 Mac as well as several other apps, but updates have been pushed since which allow for a M1 device to more or less function like any other Mac. But the general consensus is that there might be potential issues with other 3rd party apps (unrelated to XCode or VSCode) and these might take a few months to be resolved. So all in all at this stage it would be worth it to get a new Mac, but be prepared for some bugs with 3rd party apps.

How do mobile apps developed on Desktops work?

Most if not all smart phones uses an ARM processor. However, I believe that mobile apps are developed on Desktops, laptops which all run x86. So for example, how does an ios app or an Android App, which run on ARM based processor, work when it written on x86 based Mac work?
On iOS, the simulator runs x86/x86-64 builds of the code to be tested (exclusively 64-bit builds these days).
It's worth pointing out some significant architectural differences in approach between Android and iOS when it comes to simulators. The iOS Darwin kernel is ABI and API compatible with that in MacOS, and the simulator app simply runs the iOS 'shell' including springboard, and a full set of user-space libraries on top of the host operating system.
Android simulators are run in virtual machines, optionally with instruction set emulation.
There are types of development where neither approach is idea. Any code relying on low-level optimisations needs to be tested on a device.
Emulators.
And/or x86 Android in a VM, because most Android programs are portable at a source level between x86 Android and ARM / AArch64 Android. (But that's still just a more-efficient emulation, not running Android applications directly under the x86 Linux kernel on your desktop).
I assume it's also pretty easy to compile on a desktop and run on a real phone if you set up your networking correctly, possibly after jailbreaking the phone to let it run apps without having to reinstall through the app store. IDK the details.

Build an Xcode project on Windows

I need to compile an Xcode project on Windows. I don't need to make one, because it is automatically generated. I am new to iOS development, and I don't plan to submit to the App Store or pay Apple 100$ to sign it, I just want to build an IPA I can install on my jailbroken device. This is just for personal use. When I tried setting up a vitrual Mac it always fails to boot. Is there any fix to that? Is this even possible?
Your best bet would be building a hackintosh or getting ahold of a mac to use/buy.
If you have an intel computer that is somewhat modern, chances are you can install OS X on it (there might be a few inconsistencies that you may be able to iron out with a little time and money). Just do some research on your chipset. Maybe somethings are compatible and some aren't; you can fill those voids through buying considerably cheap hardware to get a fully working machine. Consult this page: CustoMac: Component Buyer's Guide to get a repository of confirmed supported components. There is also a huge community on reddit that is more than helpful at assisting others who are trying to get their hackintosh working.
If you do have an AMD there is still hope, I had my 8350 working on yosemite before I upgraded to an intel. I can't link you to the unsigned iso, but you can search for it. The distro is by "Nerish", you can download the iso or find the kernel and manually install it.
I'm currently running an i7 6700k CPU with an Asus Sabertooth z170 Mark1 motherboard, 16gb ddr4 corsair ram, and a GTX 970. Everything is working well. I have both windows and OS X sierra installed so that I can do my normal business work and easily develop in XCode.
No, it's not possible (as of now). To build an Xcode project you need an environment, that is just not present on Windows. I mean a lot of libraries, frameworks and tools that are shipped with macOS.
One possible way is to try to find a working macOS VM / install a "Hackintosh", but be warned that both actions are illegal according to macOS ToS.
By the way, you don't need to pay Apple 99$ to install your software on a device. You just need a Mac.

Reg. iOs mobile app developement hardware requirements using Delphi XE7

I'm using Delphi XE7 for developing mobile application. And some how, I have learnt how to create and test the Android mobile application using Delphi XE7 and for developing and testing Android application, just one Android mobile is enough. And I need to know the hardware requirements for developing and testing iOs mobile applications. And currently I'm having Windows 64 bit Os. Is it possible to develop and test, if I'm having Mac Os which is Virtual Os and iPhone device in my hand. And in the Virtual OS, I need to install Xcode and the required packages. Please confirm me once should I need compulsory MAC book for developing iOs mobile application using Delphi XE7.?
Please provide me the solution.
In addition to your development PC, you need the following to develop multi-device applications for iOS:
A Mac running OS X
An iOS device, connected to your Mac by USB cable
http://docwiki.embarcadero.com/RADStudio/XE7/en/IOS_Mobile_Application_Development
The Mac OS X is bound to the Apple hardware. The only way to make OS X run in a virtual machine is to hack it. There are several solutions available e.g. here and here.
I am however sure that you will end up being frustrated about spending too much time on tweaking Delphi and the hacked OS X - even with Apple hardware there can be plenty of frustrations! For example there are updates to Xcode all the time and some of them breaks things. If you also have to tweak OS X every time you need to update, you would wish you bought the hardware.
I can recommend buying a Mac Mini ($499), it is the cheapest way to get a Mac. To minimize cost, you can simply connect it to the same monitor as your windows computer and just switch input on the monitor when you are working on the Mac. I have done that and it works very well.

Virtualization of iOS

I am interested in analyzing the network traffic utilized by an app I found on the app store. I could just use wireshark to analyze the traffic on the network, but that would be too easy.
Instead, I would rather run the app on a virtualized instance of iOS.
Is it possible to run iOS in a virtual machine on OS X?
My initial search shows that this may be difficult because a lot of virtualization software is designed for the x86 architecture, and iOS runs on ARM architecture.
Has anybody gotten this to work before?
As you said, you cannot run regular Appstore apps on Simulator.
Instead, use jailbroken iDevice, install from Cydia tools like tcpdump, sslKillSwitch to monitor phone device traffic.
Other tricks you can find on IOS app analysis website
Good luck!
It is not possible to install iOS on VirtualBox because iOS is only for ARM-based processors, and VirtualBox does not support hardware emulation of the ARM architecture. Unlike Android, iOS isn't open source so you can't recompile it for x86 processors. Plus, you'd need to write a custom boot loader for iOS somehow.
A company called Corellium is claiming to be the first business to offer a virtualized iOS device experience to developers and testers. The company is defining this as the "future of mobile development" which will give developers instant access to run their creations on virtualized iPhones and iPads on a Mac or PC which are running actual real versions of iOS.

Resources