Baseflow / Baseflow/LottieXamarin

No native support for macOS/arm64

Open
#382 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
C#
Stars
1.2k
Forks
253
PR merge metrics
No merged PRs in 30d

Description

## 🐛 Bug Report

Xamarin.Mac cannot build for arm64 since the native library does not have an `arm64` slice.

Note: Xamarin.Mac (pre net-6.0) does support `arm64` when `mmp` is given `--abi=arm64` as an additional argument.

### Expected behavior

Work on macOS/arm64.

### Reproduction steps

Native linking fails since the native static library is only available for `x86_64`

```
lipo -info libLottie-macos.a Non-fat file: /Users/poupou/libLottie-macos.a is architecture: x86_64
```

### Workaround

Build and run for `x86_64` but performance is abysmal.

### Configuration

**Version:** 2.5.13

**Platform:**
- [ ] :iphone: iOS
- [ ] :robot: Android
- [ ] :checkered_flag: WPF
- [ ] :earth_americas: UWP
- [x] :apple: MacOS
- [ ] :tv: tvOS
- [ ] :monkey: Xamarin.Forms

Contributor guide

Open the contributing guide

Research direction

Start by examining how the macOS native static library is produced and linked for Xamarin.Mac, using the reported lipo output as the baseline. Confirm the build can produce and consume an arm64 slice, including the pre-net-6.0 --abi=arm64 case; done means Xamarin.Mac builds and runs on macOS/arm64 without the x86_64 workaround.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp, macos
Domain
build-system, desktop-dev
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.