Comcast / mamba

Mamba is a Swift iOS, tvOS and macOS framework to parse, validate and write HTTP Live Streaming (HLS) data.
Apache License 2.0
177 stars 36 forks source link

Support building XCFrameworks #104

Closed jonnybach closed 2 years ago

jonnybach commented 2 years ago

Addresses #103

This is a follow up PR to #103 to include this support for ver > 1.x

Description

This PR modifies the following about the framework so that it can be built as an XCFramework:

  1. Set the Build for Distribution build setting for the framework to YES. This will create the swiftInterface files that support ABI compatibility.
  2. Change name of Mamba class to FrameworkInfo. Types defined in a module cannot have the same name as the module itself when building swift interface files (see https://bugs.swift.org/browse/SR-14195).
  3. Change the build system setting from legacy to standard (legacy build settings don't support library evolution).

Other changes

  1. Resolve warnings in the Tests target regarding handling unknown enum cases of unfrozen enums.
  2. Remove, from the project settings, references to frameworks that we no longer link against/use.

Pre-submission Checklist