Build settings -> Player settings -> Other settings -> Scripting backend -> IL2CPP Build settings -> Player settings -> Other settings -> Architecture -> Universal
现在的问题是我无法在我的设备上成功构建和运行我的Xcode项目.我收到Apple Mach-O链接器错误,这是我之前没有得到的.
这是我从Xcode得到的错误:
ld: warning: directory not found for option '-F-F/Users/user/Desktop/qwer/Frameworks/Plugins/IOS' ld: warning: directory not found for option '-F"/Users/user/Desktop/qwer/../../Documents/Unity Projects/Unity 5.0.0 projects/MyGame/Assets/Editor/Vungle/VungleSDK"' duplicate symbol l082 in: /Users/user/Documents/Unity Projects/Unity 5.0.0 projects/MyGame/Assets/Editor/Vungle/VungleSDK/VungleSDK.framework/VungleSDK(FMDatabase.o) /Users/user/Documents/Unity Projects/Unity 5.0.0 projects/MyGame/Assets/Editor/Vungle/VungleSDK/VungleSDK.framework/VungleSDK(VungleAdViewController.o) duplicate symbol l084 in: /Users/user/Documents/Unity Projects/Unity 5.0.0 projects/MyGame/Assets/Editor/Vungle/VungleSDK/VungleSDK.framework/VungleSDK(VungleVideoPlayer.o) /Users/user/Documents/Unity Projects/Unity 5.0.0 projects/MyGame/Assets/Editor/Vungle/VungleSDK/VungleSDK.framework/VungleSDK(VungleAdViewController.o) ld: 2 duplicate symbols for architecture arm64 clang: error: linker command Failed with exit code 1 (use -v to see invocation)
从我所观察到的,似乎是VungleSDK的位置?这对我来说很奇怪,因为除了上面提到的那个之外我没有做任何改变.
有谁知道如何解决这个问题?
另请注意:在切换到IL2CPP和通用架构时,是否有人遇到编译时间慢的问题?我已经将我的Xcode版本切换到Release(正如有人在网上建议的那样),它仍然是那样的.我的代码编译需要很长时间.在我切换到IL2CPP和Universal之前,只花了不到10秒的时间
更新:我需要提一下我在我的应用程序中使用Chartboost,AdColony和Vungle.我做了一些实验,发现从我的Xcode项目中删除-ObjC和-fobjc-arc链接器标志修复了Mach-O链接器错误,我能够再次构建并成功运行.警告:找不到我正在获取的选项的目录仍在那里,但它仍然成功编译并运行,Chartboost和Vungle的所有功能都在我的应用程序中完全正常工作.
我首先拥有那些链接器标志,因为AdColony SDK需要它们.但删除它们使AdColony停止在我的应用程序中运行.所以它也不是一个干净的解决方案.
这让我相信两件事:AdColony统一插件可能在支持Universal / ARM64架构方面存在问题,或者-ObjC链接器标志与构建到Universal / ARM64架构不兼容.
如果有人能对这个令人困惑的问题有所了解,我将不胜感激.
谢谢
解决方法
此外,我从您发布的日志中发现了另一个可能的问题
ld: warning: directory not found for option '-F"/Users/user/Desktop/qwer/../../Documents/Unity Projects/Unity 5.0.0 projects/MyGame/Assets/Editor/Vungle/VungleSDK"'
您的Vungle SDK的路径似乎包含在“FrameWork搜索路径”中的“”(倒置逗号)中.检查您的路径,它应如下面的参考图片中所示.
请注意路径$(SRCROOT)/../../ Assets / Editor / Vungle / VungleSDK未包含在“”(引号中)中.
更新1
如果未在Framework搜索路径中正确输入路径,则会出现大多数这些问题.在我的情况下,我有多个插件,不仅要检查框架搜索路径,还要检查标题搜索路径和库搜索路径.我在我的图书馆搜索路径中也有“”并删除了它们(删除“”时要小心 – 一次错误删除,你将不得不创建一个新的xcode项目).我附上了其他搜索路径图片
图书馆搜索路径