A few months ago I decided to explore Apple’s ecosystem from the developer’s point of view and I was surprised how similar is C++ to Swift is. But before that, I had experience with Embedded Software testing in Automotive projects and in making tutorial projects in C++ using Linux that bolstered me to learn the three inviolate principles of object-oriented programming by heart and made me curious about the internals of macOS and iOS.
Initially, I began discovering the Objective-C programming language and installed its compiler on Linux via the terminal command:
sudo apt-get –y install gobjc gnustep gnustep-devel
From the first impression of working with BLE (Bluetooth Low Energy), I was surprised by how the event-based buses work. By the way, from my experience in Embedded Software Development, I was a neophyte and circumvented the convoluted challenging tasks that were arduous and arcane for me.
Nevertheless, that day has come and now I am going to elucidate the pith of BLE internals from the perspectives of iOS and using the Swift programming language.
First of all, here is the reference diagram for the BLE functioning logic.
From my first impression, I saw how Swift is similar to C/C++ which I used before during my occupation in Embedded Software Engineering. Therefore, imminently, I came up with the invigorating idea of aggregating my Sandboxes where I tested my code.
Additionally, I had already learned that Swift supports Objective-C code via the bridging header by default when I built iOS tutorial projects. Then, I discovered that the C++ code could be linked as the C code via the “extern “C” keyword. So, let us look at what it takes to compile the program written in Swift and C++.
While I was exploring tutorials of iOS 11, I tried to make a universal CoreData database both for my iPhone 4S and iPhone 5S. Finally, I came to the conclusion that works fine stable, and properly as expected. So, here I am going to elucidate the steps of how to support the old iOS 9 and modern iPhone/iPad applications.
Firstly, add CoreData to your project. You can do this while creating a new one. Just check the box in front of the “Use Core Data” section.
It has been two years since I used Windows as the main operating system on my laptop where I did everything is connected to my job. Even now, I am fully satisfied with running Linux and macOS on my laptop and here I am going to posit the reasons for this selection.
Firstly, I read about Linux in the book of how to be a white hacker which described the internals of the world wide web. Initially, I tried to install the FreeBSD distro and was discouraged because I was a neophyte when started to explore the default preinstalled software…