从 Unity 导入的 Xcode 项目上的库名称拼写错误

Library name misspelled on Xcode project imported from Unity

我正在开发一个 Unity Pro 项目,该项目使用 Cardboard SDK 为 iPhone 制作应用程序。我已按照 Cardboard Getting Started for IOS 页面上的所有说明进行操作。

在我的 Mac 上将项目导入 Xcode 时出现问题。构建失败:

ld: library not found for -liontext
(null): Linker command failed with exit code 1 (use -v to see invocation)

检查日志时,我发现所有对包含的库的调用都拼写错误(不是 liontext,而是 libion​​text。 ).构建脚本以某种方式在中间剥离了 'bi' 。许多其他图书馆都会发生这种情况。查看屏幕截图。

错误日志:

实际图书馆:

问题是我是否可以通过某种方式手动编辑名称,或者使构建通过此错误。我已经尝试在 Unity 中多次构建项目,但同样的事情发生了。另外,我已经将我的 VR 应用程序发布到 Play 商店,但是 Xcode 无法在 App Store 上做同样的事情。

感谢任何帮助。

是因为在XCode项目中的搜索路径中unity拼错了。检查您的 XCode 项目的构建设置,查找搜索路径,在库搜索路径中写着

//:configuration = Debug
LIBRARY_SEARCH_PATHS = $(inherited) "$(SRCROOT)" "$(SRCROOT)/Libraries" "$(SRCROOT)/Libraries\Standard Assets/Plugins/iOS"

//:configuration = Release
LIBRARY_SEARCH_PATHS = $(inherited) "$(SRCROOT)" "$(SRCROOT)/Libraries" "$(SRCROOT)/Libraries\Standard Assets/Plugins/iOS"

//:completeSettings = some
LIBRARY_SEARCH_PATHS

查找反斜杠“\”,将其替换为斜杠“/”并尝试重建您的项目,这解决了我的问题。

应该是这样的:

//:configuration = Debug
LIBRARY_SEARCH_PATHS = $(inherited) "$(SRCROOT)" "$(SRCROOT)/Libraries" "$(SRCROOT)/Libraries/Standard Assets/Plugins/iOS"

//:configuration = Release
LIBRARY_SEARCH_PATHS = $(inherited) "$(SRCROOT)" "$(SRCROOT)/Libraries" "$(SRCROOT)/Libraries/Standard Assets/Plugins/iOS"

//:completeSettings = some
LIBRARY_SEARCH_PATHS

首先尝试删除并重新导入所有这 4 个库。但是如果还是出现这个问题,

最愚蠢和最简单的解决方案之一是将所有四个 lib* 文件重命名为 l*。例如 libiontext.aliontext.a

我知道这是一个非常奇怪的解决方案,但它确实有效:)