我在 Mac 的 UIKit 上为 libsodium 创建了 xcframework:
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
但添加 32 位版本后出现错误:
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.)
什么是 XCBCore.XCFrameworkValidationError 错误 8?
如何为 Xcode 11 的 Mac(macOS + iOS)UIKit 构建 libsodium?
更新: Build 不是 Mac 的 UIKit。问题已关闭。非常感谢。
最佳答案
UIKitForMac 只能在 macOS 10.15 上运行,不支持 32 位。
您的 XCFramework 应仅包含 iOS 和 iOS 模拟器部分的 32 位二进制文件。
关于ios - 如何将 32 位二进制文件添加到 UIKit for Mac 上的 libsodium?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56486177/