Compilation of iOS frameworks from Linux operating system using open- source tools


Abstract

This paper analyzes possibility of using open-source tools to compile iOS frameworks in Linux operating system. The purpose of this analysis was to determine how compilation in Linux could be performed and identify possible limita- tions when using LLVM compiler. The analysis has been performed on own frameworks written using Objective-C and Swift languages containing graphic and text files in different formats and sizes. Results of the analysis show that compi- lation of iOS frameworks under Linux operating system is possible unless the compiler frameworks use interface com- ponents written in xib format for which there are no compilation tools available on Linux operating system.


Keywords

iOS frameworks; LLVM compiler; cross-compilation; open-source tools

What are Frameworks?, https://developer.apple.com/library/archive/documentation/MacOSX/Conceptual/BPFrameworks/Concepts/WhatAreFrameworks.html#//apple_ref/doc/uid/20002303-BBCEIJFI, [03.2021].

S. Grimshaw, Mastering MacOS Programming, Packt Publishin, 2017.

B. Alexander, J. B. Dillon, K. Y. Kim, R. Górczyński, Tworzenie aplikacji na platformę iOS 5: z wykorzystaniem Xcode, Interface Builder, Instruments, GDB oraz innych kluczowych narzędzi, Wydawnictwo Helion, 2012.

R. Pouclet, Pro iOS Continuous Integration, Apress 2014.

Godot Engine – Free and open source 2D and 3D game engine, https://godotengine.org, [03.2021].

Cross-compiling for iOS on Linux – Godot Engine latest documentation, https://docs.huihoo.com/godotengine/godot-docs/godot/reference/cross-compiling_for_ios_on_

linux.html, [03.2021].

Apple cctools port for Linux and *BSD, https://github.com/tpoechtrager/cctools-port, [03.2021].

Automated embedding of dynamic libraries into iOS applications from GNU/Linux, https://docplayer.net/

-Automated-embedding-of-dynamic-libraries-into-ios-applications-from-gnu-linux.html, [03.2021].

S. G. Kochan, Ł. Piwkom, Objective-C: praktyczny podręcznik tworzenia aplikacji na systemy iOS i Mac OS X!, Helion, 2012.

P. Pasternak, Swift od podstaw: praktyczny przewodnik, Helion, 2017.

A. Pipinellis, GitHub Essentials, Packt Publishing, 2015.

C. G. Garcia, J. P. Espada, B. C. Pelayo G-Bustelo, J. M. Cueva Lovelle, Swift vs. Objective-C: A New Programming Language, International Journal of Interactive Multimedia and Artificial Intelligence 3(3) (2015) 74-81, http://dx.doi.org/10.9781/ijimai.2015.3310.

Asset Catalog Format Reference, https://developer.apple.com/library/archive/documentation/Xcode/Reference/xcode_ref-Asset_Catalog_Format/

index.html, [03.2021].

Xcode Overview: Using Interface Builder, https://developer.apple.com/library/archive/documentation/ToolsLanguages/Conceptual/Xcode_Overview/UsingInterfaceBuilder.html, [03.2021].

Foundation – Apple Developer Documentation, https://developer.apple.com/documentation/foundation, [03.2021].

Dispatch – Apple Developer Documentation, https://developer.apple.com/documentation/dispatch, [03.2021].

UIKit – Apple Developer Documentation, https://developer.apple.com/documentation/uikit, [03.2021].

Promises is a modern framework that provides a synchronization construct for Swift and Objective-C, https://github.com/google/promises, [03.2021].

Man page dla polecenia dyld, https://www.manpagez.com/man/1/dyld/, [03.2021].

N. Godfrey, Agile Swift: Swift Programming Using Agile Tools and Techniques, Apress, 2016.

Download

Published : 2021-06-30


Rutkowski, Łukasz, & Kopniak, P. (2021). Compilation of iOS frameworks from Linux operating system using open- source tools. Journal of Computer Sciences Institute, 19, 132-138. https://doi.org/10.35784/jcsi.2632

Łukasz Rutkowski  lukasz.rutkowski1@pollub.edu.pl
  Poland
Piotr Kopniak