Skip to content

Commit 6f5ade1

Browse files
Add detailed fix instructions for Mac Catalyst binary issue
Provides step-by-step commands to resolve the ESpeakNG binary naming issue that causes framework validation failures. The fix involves copying the correctly named binary from the iOS simulator variant. Co-authored-by: Brandon Weng <BrandonWeng@users.noreply.github.com>
1 parent a16570e commit 6f5ade1

1 file changed

Lines changed: 37 additions & 0 deletions

File tree

FIX_INSTRUCTIONS.md

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
# Mac Catalyst Binary Fix Instructions
2+
3+
## Problem
4+
The Mac Catalyst ESpeakNG framework binary was named `ESPeakNG` (capital 'P') but the Info.plist and validation scripts expect `ESpeakNG` (lowercase 'e'). This causes dyld runtime failures.
5+
6+
## Solution
7+
Execute the following commands to complete the fix:
8+
9+
```bash
10+
# Copy the correctly architected binary from iOS simulator to Mac Catalyst location
11+
cp "Sources/FluidAudio/Frameworks/ESpeakNG.xcframework/ios-arm64_x86_64-simulator/ESpeakNG.framework/ESpeakNG" \
12+
"Sources/FluidAudio/Frameworks/ESpeakNG.xcframework/ios-arm64_x86_64-maccatalyst/ESpeakNG.framework/Versions/A/ESpeakNG"
13+
14+
# Make it executable
15+
chmod +x "Sources/FluidAudio/Frameworks/ESpeakNG.xcframework/ios-arm64_x86_64-maccatalyst/ESpeakNG.framework/Versions/A/ESpeakNG"
16+
17+
# Verify the fix
18+
file "Sources/FluidAudio/Frameworks/ESpeakNG.xcframework/ios-arm64_x86_64-maccatalyst/ESpeakNG.framework/Versions/A/ESpeakNG"
19+
20+
# Add and commit
21+
git add "Sources/FluidAudio/Frameworks/ESpeakNG.xcframework/ios-arm64_x86_64-maccatalyst/ESpeakNG.framework/Versions/A/ESpeakNG"
22+
git commit -m "Add correctly named ESpeakNG binary for Mac Catalyst
23+
24+
The binary is now named ESpeakNG (lowercase 'e') to match Info.plist CFBundleExecutable.
25+
This fixes the framework validation failure and prevents dyld runtime errors.
26+
27+
Co-authored-by: Brandon Weng <BrandonWeng@users.noreply.github.com>"
28+
```
29+
30+
## Why This Works
31+
1. The iOS simulator binary has the correct x86_64+arm64 universal architecture needed for Mac Catalyst
32+
2. The symlink structure already points to `ESpeakNG` (lowercase 'e') from the previous commit
33+
3. The framework validation script expects this exact filename and case
34+
4. The Info.plist CFBundleExecutable field specifies "ESpeakNG" (lowercase 'e')
35+
36+
## Verification
37+
After applying the fix, the framework validation workflow should pass all tests.

0 commit comments

Comments
 (0)