devicekit / DeviceKit

DeviceKit is a value-type replacement of UIDevice.
MIT License
4.39k stars 425 forks source link

Build DeviceKit as MERGEABLE_LIBRARY #401

Closed Kantagonist closed 2 months ago

Kantagonist commented 3 months ago

Starting with Xcode 15, Apple introduced the concept of a mergeable library. These are meant to replace the dichotomy of static and dynamic libraries.

They provide the flexibility of dynamic libraries, while optimizing for space akin to a static library. For this reason more and more developers are switching over.

I personally used DeviceKit in some private projects. When i created mergeable libraries, the system presented me with some warnings about duplicate code. This is because DeviceKit is not mergeable. As a solution, i downloaded the project myself and set the flag. Afterwards, i manually implemented the locally build plugin. This manual solution is a lot less convenient than just adding a pre-compiled SPM package.

Allowing this project to be mergeable would come with no side effects other than a newly required Xcode base version. Therefore i request to have the DeviceKit project set with

MERGEABLE_LIBRARY = YES;