As of SqlCipher 4.5.5 we get the following build error when attempting to compile a MAUI net8.0 project targeting ios-arm64:
error : clang++ exited with code 1
error : Undefined symbols for architecture arm64
error : "_sqlite3_aggregate_context", referenced from
The problem does not occur when sqlcipher is referenced directly. It only occurs when sqlcipher is referenced in a dependency of the main project.
Reproduce:
- On a mac download and unzip attached project
- Open terminal, cd to
SqlCipherTest
folder containingSqlCipherTest.csproj
- Compile with
dotnet build -p:Configuration=Debug -f net8.0-ios -r ios-arm64
Observations
- Notice that when the following references are added to the main SqlCipherTest.csproj, the build error no longer occurs.
<PackageReference Include="zetetic-sqlite-net-base" Version="4.5.5" />
<PackageReference Condition="$(TargetFramework) == 'net8.0-android'" Include="zetetic-sqlcipher-android" Version="4.5.5" />
<PackageReference Condition="$(TargetFramework) == 'net8.0-ios'" Include="zetetic-sqlcipher-ios" Version="4.5.5" />
- When downgrading to 4.5.4, the error does not occur.