SPM should allow splitting up binary targets to platforms/architectures and framework/dsym

I feel like a lot of unnecessary stuff is being downloaded via SPM. For example if I want to use a framework that is universal for all Apple platforms but my project only has iOS targets then all the other platforms get unnecessarily downloaded. Even then it can be thinned down further. If I only use simulator for development (and do the release process on a CI machine) then I also doesn't need to download the framework for devices. Also one of the simulator architectures can be skipped (or delayed until needed for iOS 12 simulator on M1). I will probably not need the dSYM either, and even in the case I need it (e.g. crash in the library), I can always download it when it is needed (so I can send proper bug report with symbolicated stack trace)

I would think of this mostly as an Xcode feature request since XCFrameworks themselves don't even support this kind of split. I would recommend filing a feedback report for this.

What is not supported by XCFrameworks? SPM would have an input of .framework, .dSYM and .bcsymbolmap files and it would create the .xcframework from the ones that it downloaded.

Terms of Service

Privacy Policy

Cookie Policy