Andy Sander
Andy Sander

Reputation: 1916

How to add 32 bit binaries to libsodium on UIKit for Mac?

I created xcframework for libsodium on UIKit for Mac:

xcodebuild -create-xcframework -library /Users/<user>/Documents/<project>/libsodium-ios/ios64/lib/libsodium.a  -headers /Users/<user>/Documents/<project>/libsodium-ios/ios64/include -library /Users/<user>/Documents/<project>/libsodium-ios/simulator64/lib/libsodium.a -headers /Users/<user>/Documents/<project>/libsodium-ios/simulator64/include -library /Users/<user>/Documents/<project>/libsodium-osx/lib/libsodium.a -headers /Users/<user>/Documents/<project>/libsodium-osx/include -output /Users/<user>/Documents/<project>/libsodium.xcframework

Warnings related to headers being present but not usable are due to functions that didn't exist in the specified minimum iOS version level.
They can be safely ignored.

xcframework successfully written out to: /Users/<user>/Documents/<project>/libsodium.xcframework

But after adding 32 bit versions there's the error:

xcodebuild -create-xcframework -library /Users/<user>/Documents/<project>/libsodium-ios/ios32/lib/libsodium.a -headers /Users/<user>/Documents/<project>/libsodium-ios/ios32/include -library /Users/<user>/Documents/<project>/libsodium-ios/ios32s/lib/libsodium.a -headers /Users/<user>/Documents/<project>/libsodium-ios/ios32s/include -library /Users/<user>/Documents/<project>/libsodium-ios/ios64/lib/libsodium.a -headers /Users/<user>/Documents/<project>/libsodium-ios/ios64/include -library /Users/<user>/Documents/<project>/libsodium-ios/simulator32/lib/libsodium.a -headers /Users/<user>/Documents/<project>/libsodium-ios/simulator32/include -library /Users/<user>/Documents/<project>/libsodium-ios/simulator64/lib/libsodium.a -headers /Users/<user>/Documents/<project>/libsodium-ios/simulator64/include -library /Users/<user>/Documents/<project>/libsodium-osx/lib/libsodium.a -headers /Users/<user>/Documents/<project>/libsodium-osx/include -output /Users/<user>/Documents/<project>/libsodium-xcframework/libsodium.xcframework

Warnings related to headers being present but not usable are due to functions
that didn't exist in the specified minimum iOS version level.
They can be safely ignored.

The operation couldn’t be completed. (XCBCore.XCFrameworkValidationError error 8.)
  1. What is XCBCore.XCFrameworkValidationError error 8?

  2. How to build libsodium for UIKit for Mac (macOS + iOS) for Xcode 11?

Update: Build is NOT UIKit for Mac. The question is closed. All thanks.

Upvotes: 1

Views: 243

Answers (1)

Igor Makarov
Igor Makarov

Reputation: 729

UIKitForMac only runs on macOS 10.15, which doesn't have 32-bit support.

Your XCFramework should contain 32 bit binaries only for iOS and iOS Simulator parts.

Upvotes: 1

Related Questions