5

我最近从 Unity 到 Xcode 构建了我的项目,它运行得非常好。从那时起,我将 Unity 广告添加到我在 Unity 中的项目中(然后意识到我不再需要它,因为它包含在带有服务的 unity 5.3 中)所以我删除了下载。但是,当我构建到 Xcode 时,我注意到构建时链接的框架中有 2 个 Unity 广告。我收到此错误:

/Users/Clive/Library/Developer/Xcode/DerivedData/Unity-iPhone-dprwctphrztswsbrhuqrdbgezzuy/Build/Intermediates/Unity-iPhone.build/Release-iphoneos/Unity-iPhone.build/Objects-normal/armv7/UnityAdsUnityWrapper-6D362980BD529555.o /Users/Clive/Library/Developer/Xcode/DerivedData/Unity-iPhone-dprwctphrztswsbrhuqrdbgezzuy/Build/Intermediates/Unity-iPhone.build/Release-iphoneos/Unity-iPhone.build/Objects-normal/armv7/UnityAdsUnityWrapper-498FCC2E7A8DF058.o重复符号 _OBJC_CLASS_$_UnityAdsUnityWrapper 在:/Users/Clive/Library/Developer/Xcode/DerivedData/Unity-iPhone-dprwctphrztswsbrhuqrdbgezzuy/Build/Intermediates/Unity-iPhone.build/Release-iphoneos/Unity-iPhone.build/Objects-normal/ armv7/UnityAdsUnityWrapper-6D362980BD529555。o /Users/Clive/Library/Developer/Xcode/DerivedData/Unity-iPhone-dprwctphrztswsbrhuqrdbgezzuy/Build/Intermediates/Unity-iPhone.build/Release-iphoneos/Unity-iPhone.build/Objects-normal/armv7/UnityAdsUnityWrapper-498FCC2E7A8DF058。 o 重复符号 _OBJC_METACLASS_$_UnityAdsUnityWrapper 在:/Users/Clive/Library/Developer/Xcode/DerivedData/Unity-iPhone-dprwctphrztswsbrhuqrdbgezzuy/Build/Intermediates/Unity-iPhone.build/Release-iphoneos/Unity-iPhone.build/Objects-normal /armv7/UnityAdsUnityWrapper-6D362980BD529555.o /Users/Clive/Library/Developer/Xcode/DerivedData/Unity-iPhone-dprwctphrztswsbrhuqrdbgezzuy/Build/Intermediates/Unity-iPhone.build/Release-iphoneos/Unity-iPhone.build/Objects-normal /armv7/UnityAdsUnityWrapper-498FCC2E7A8DF058.o 重复符号 _UnityAdsCreateNSString 在:/Users/Clive/Library/Developer/Xcode/DerivedData/Unity-iPhone-dprwctphrztswsbrhuqrdbgezzuy/Build/Intermediates/Unity-iPhone.build/Release-iphoneos/Unity-iPhone.build/Objects-normal/armv7/UnityAdsUnityWrapper-6D362980BD529555.o /Users/Clive/Library/Developer/Xcode/DerivedData/Unity-iPhone-dprwctphrztswsbrhuqrdbgezzuy/Build/Intermediates/Unity-iPhone.build/Release-iphoneos/Unity-iPhone.build/Objects-normal/armv7/UnityAdsUnityWrapper-498FCC2E7A8DF058.o重复符号 _OBJC_IVAR_$_UnityAdsUnityWrapper._gameId 在:/Users/Clive/Library/Developer/Xcode/DerivedData/Unity-iPhone-dprwctphrztswsbrhuqrdbgezzuy/Build/Intermediates/Unity-iPhone.build/Release-iphoneos/Unity-iPhone.build/Objects-正常/armv7/UnityAdsUnityWrapper-6D362980BD529555。o /Users/Clive/Library/Developer/Xcode/DerivedData/Unity-iPhone-dprwctphrztswsbrhuqrdbgezzuy/Build/Intermediates/Unity-iPhone.build/Release-iphoneos/Unity-iPhone.build/Objects-normal/armv7/UnityAdsUnityWrapper-498FCC2E7A8DF058。 o ld:架构 armv7 clang 的 5 个重复符号:错误:链接器命令失败,退出代码为 1(使用 -v 查看调用)

我试图删除其中一个链接库 Unity Ads,但仍然出现相同的错误,有什么想法吗?

4

9 回答 9

12

我找到了解决方法。

打开 Xcode 项目选择UnityAds文件夹中的UnityAdsUnityWrapper.mm 然后取消选中 Target members Unity-Iphone

似乎现在可以工作了。

在此处输入图像描述

于 2017-10-25T10:29:47.880 回答
1

好吧,这就是大家一直在等待的答案。问题依然存在,

“为什么统一广告会为 arm64/arm7 创建重复符号?”

3 年后,我遇到了这个问题,有一次“脱发”的经历。这不好..但我为解决这个问题所做的是禁用 Unity Ads Services 中的“内置广告扩展”。

但在你开始这样做之前,你必须明白为什么它对我有用!当您启用 unity 内置广告扩展时,Unity 会安装一个插件来为您处理所有广告。然后大多数人继续从资产商店安装另一个插件,然后创建相互冲突的文件,因此 Xcode 搞砸了,不知道该怎么办.. 话虽如此,如果你想使用广告插件从资产商店,确保“内置广告扩展”(在统一广告服务中)被禁用,但如果你只想在统一广告服务中使用内置广告扩展,你需要确保你的每个插件从处理广告的资产商店获得已卸载!

于 2019-03-08T18:09:56.237 回答
1

实际上这意味着 Unity 项目中添加了 2 个 UnityAds 库。

不要从 Asset Store 添加库。只需打开服务面板并激活 UnityAds。

于 2018-06-07T07:51:13.337 回答
1

我在使用不同但更新的 Unity 版本时遇到了同样的问题。我今天升级到最新版本仍然有问题。有一个名为“Package Uninstaller”的免费 Unity 商店包 - 抓住它并使用它来搜索“广告”。完成后,它会显示 Unity Ads 原始版本和 2.0 的位置(如果它们仍在您的包中)。正如 ikoukas 所说,您需要删除 Unity Ads 文件。我删除了所有这些。然后,我的构建工作并且错误消失了。

于 2016-10-13T18:22:22.890 回答
1
  1. 选择“窗口/包管理器”
  2. 在标签“项目中”模块“广告”中查找
  3. 删除“广告”模块
  4. 前往资产商店
  5. 重新导入“Unity Monetization XX”
于 2019-03-27T14:32:16.947 回答
0

我找到了解决方法。

打开 Xcode 项目选择 UnityAds 文件夹中的 UnityAdsUnityWrapper.mm 然后取消选中 Target members Unity-Iphone

于 2018-03-15T04:24:13.857 回答
0

我在尝试用 Asset Store 版本替换 Package Manager 版本时遇到了这个问题(由于某种原因,Asset Store 有一个更新的版本)。

我只需要Enable built-in Ad extension在 Unity 的广告设置中取消标记:

在此处输入图像描述

然后我还必须自己初始化插件调用Advertisement.Initialize(gameId)where gameIdis not the Unity Project Id

于 2018-09-27T21:29:08.380 回答
0

我以前遇到过这个问题,但我知道如何解决它。

当我为自己的项目导入统一广告时,不知何故我下载了两个相同的文件,这把事情搞砸了。在您的错误消息中,它说

Phone.build/Objects-normal/armv7/UnityAdsUnityWrapper-498FCC2E7A8DF058.o ld:架构 armv7 clang 的 5 个重复符号:错误:链接器命令失败,退出代码为 1(使用 -v 查看调用)

请注意“重复符号”这一行。这意味着您有一个额外的架构文件。尝试删除两个重复项之一。无论如何,祝你好运!

于 2017-10-10T22:45:48.490 回答
-2

我有同样的问题。看来我的“插件/iOS”目录中有一个 UnityAdsUnityWrapper.mm +.h 库。尝试在您的项目中搜索“UnityAds”并删除相关的库文件。

于 2016-04-04T00:57:48.423 回答