在Universal Architecture项目上使用-ObjC链接器标志会导致Mach-O链接器错误?

are*_*esz 8 xcode unity-game-engine adcolony

以前,我能够毫无问题地构建和运行我的Unity输出Xcode项目.但是现在Apple要求对iOS应用程序提供64位支持,我不得不在Unity中进行以下更改:

Build settings -> Player settings -> Other settings -> Scripting backend -> IL2CPP
Build settings -> Player settings -> Other settings -> Architecture -> Universal
Run Code Online (Sandbox Code Playgroud)

现在的问题是我无法在我的设备上成功构建和运行我的Xcode项目.我得到的这Apple Mach-O linker error是我以前没有得到的.

这是我从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)
Run Code Online (Sandbox Code Playgroud)

从我所观察到的,似乎是VungleSDK位置的东西?这对我来说很奇怪,因为除了上面提到的那个之外我没有做任何改变.

有谁知道如何解决这个问题?

也侧面说明:有没有人遇到慢切换到时编译时间IL2CPPUniversal架构?我已经将我的Xcode版本切换为Release(正如有人在网上建议的那样),它仍然是这样的.我的代码编译需要很长时间.在我切换到IL2CPP和Universal之前,只花了不到10秒的时间

更新:我需要提及的是我使用的Chartboost,AdColonyVungle我的应用程序.我做了一些实验,发现从我的Xcode项目中删除-ObjC-fobjc-arc链接器标志修复了Mach-O链接器错误,我能够再次构建并成功运行.在warning: directory not found for option我得到的是仍然存在,虽然,但它仍然没有编译和成功运行和的所有功能Chartboost,并Vungle在我的应用得到了充分的工作.

我首先拥有那些链接器标志,因为AdColonySDK需要它们.但删除它们使AdColony停止在我的应用程序中运行.所以它也不是一个干净的解决方案.

这让我相信两件事:AdColonyUnity插件可能在支持Universal/ARM64架构方面存在问题,或者-ObjC链接器标志与构建到Universal/ARM64架构不兼容.

如果有人能对这个令人困惑的问题有所了解,我将不胜感激.

谢谢

Dee*_*kor 0

我没有使用 Unity 的经验,但是当我的应用程序出现奇怪的链接器错误时,我只需要运行 aclean来修复它们。