# FourThirtyTwo packaging change

This directory contains `swift-lame` 3.100.0 from Git revision
`d85ee80128d7cc36796c984463cfd75b1d38587d`.

FourThirtyTwo changes one package-manifest setting: the `lame` library product
has `type: .dynamic`. No LAME C source, headers, encoder behavior, or public API
has been changed.

The explicit dynamic product makes Xcode build and embed `lame.framework`
instead of copying LAME object code into the app's main executable.

## Rebuild the dynamic framework

Requirements: macOS, Xcode with the iOS SDK, and Xcode command-line tools.
From this extracted package directory, run:

```sh
xcodebuild build \
  -scheme swift-lame \
  -configuration Release \
  -destination 'generic/platform=iOS' \
  -derivedDataPath build \
  CODE_SIGNING_ALLOWED=NO
```

The resulting dynamic framework is:

```text
build/Build/Products/Release-iphoneos/PackageFrameworks/lame.framework
```

An interface-compatible modified build can replace
`FourThirtyTwo.app/Frameworks/lame.framework`. Because iOS enforces code
signatures, the replacement framework and then the containing app must be
signed with a valid identity and provisioning profile before installation.
An App Store-installed copy cannot be modified in place; a person performing
the replacement needs their own Apple signing and installation workflow.

These notes describe the technical packaging and rebuild process. They are not
legal advice or a representation that App Store code signing resolves every
interpretation of LGPL requirements on iOS.
