我想从 native C 源代码导入一个库,以供 Unity 用于 iO。我希望需要 .a 二进制文件和 .h header (以及任何其他需要的文件,如果我缺少的话),但我找不到关于如何构建它的任何指南。
我尝试直接在 Xcode 上构建源代码,但无法从中创建库。 XCode 仅通过命令行项目接受 native C,而我需要一个库。
然后我尝试在 mac 终端上运行这个 CMake 命令: .cmake . -DCMAKE_SYSTEM_NAME=iOS "-DCMAKE_OSX_ARCHITECTURES=arm64;arm64e"-DCMAKE_OSX_DEPLOYMENT_TARGET=9.3 -DENET_STATIC=1 -DENET_LZ4=1 -GXcode
这会创建一个 Xcode 项目,我为通用 IOS 构建它,但当我将其部署到设备上时,代码无法在 Unity 上运行。
最佳答案
开始的好地方是 Bonjour example from the Unity Manual .这至少为您提供了一个可用的 iOS 插件作为起点。
您将这些文件包含在您的 Unity 项目中,并为 iOS 构建。您会注意到 Plugins/iOS 下的文件自动包含在生成的 Xcode 项目中。它们只会在您构建/运行 Xcode 项目时编译。
注意,iOS 插件与 MacOS 插件不同。对于 MacOS 插件,您需要创建 bundle 并将其包含到您的 UnityProject 中。 DllImport 装饰器在您的 C# 代码中也会有所不同。对于 iOS,它是 "__Internal"
,但对于 MacOS,它是包的名称。
如果您尝试与第三方库交互,您可能需要手动修改 Xcode 项目的库搜索路径,以便在构建和链接时正确定位您的 .a 和 .h 文件。
附带说明一下,当包含第三方 .a 二进制文件时,请验证它是否符合 iOS 架构要求,否则您的应用在提交到应用商店时可能会被拒绝。
关于ios - 如何构建 native C 源代码以创建用于 Unity 的库,以用于 iOs 平台?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55956698/