質問: Unityでとあるゲームを作成していて、一旦iPhoneにビルドしようと、build and runをしたのですが、 XcodeでBuildingしている最中にエラーがでて、ビルド出来なくなってしまいました。 ### 発生している問題・エラーメッセージ ``` 2 duplicate symbols for architecture arm64 ---------------------------------------------- duplicate symbol _OBJC_CLASS_$_UnityAdsUnityWrapperDelegate in: /Users/(略1)/Library/Developer/Xcode/DerivedData/Unity-iPhone-(略2)/Build/Intermediates.noindex/Unity-iPhone.build/ReleaseForRunning-iphoneos/Unity-iPhone.build/Objects-normal/arm64/UnityAdsUnityWrapper-(略3).o /Users/(略1)/Library/Developer/Xcode/DerivedData/Unity-iPhone-(略2)/Build/Intermediates.noindex/Unity-iPhone.build/ReleaseForRunning-iphoneos/Unity-iPhone.build/Objects-normal/arm64/UnityAdsUnityWrapper-(略4).o duplicate symbol _OBJC_METACLASS_$_UnityAdsUnityWrapperDelegate in: /Users/(略1)/Library/Developer/Xcode/DerivedData/Unity-iPhone-(略2)/Build/Intermediates.noindex/Unity-iPhone.build/ReleaseForRunning-iphoneos/Unity-iPhone.build/Objects-normal/arm64/UnityAdsUnityWrapper-(略3).o /Users/(略1)/Library/Developer/Xcode/DerivedData/Unity-iPhone-(略2)/Build/Intermediates.noindex/Unity-iPhone.build/ReleaseForRunning-iphoneos/Unity-iPhone.build/Objects-normal/arm64/UnityAdsUnityWrapper-(略4).o ld: 2 duplicate symbols for architecture arm64 clang: error: linker command failed with exit code 1 (use -v to see invocation) ``` (各略の数値には同じ文字列が入ります。) ### 思い当たる節 同じプロジェクトで過去に何度かビルドしているのですが、突然このエラーが出ました。 その直前にしたことで思い当たるのは、 Service -> In-app Purchasingをonにし、そこに出てきたパッケージをインストールしたことくらいですかね。。。 ### 試したこと In-app Purchasingをoff、インポートしたパッケージの削除 ### 補足情報 unityビルド時にエラーは無し。 ``` Splash screen images not provided: Mobile Splash Screen*, iPhone 3.5''/Retina, iPhone 4''/Retina, iPhone 4.7''/Retina, iPhone 5.5''/Retina, iPhone X /Retina, iPad Portrait, iPad Portrait/Retina UnityEditor.BuildPlayerWindow:BuildPlayerAndRun() ``` というwarnigは出ますが、今回の話とは関係がなさそう? unity 2018.2.15f Xcode 10.2 unity adsを使用していますが、アセットストアからDLしたものを使用しています。 情報量が足りないことは分かりますが、かといって何処が情報源になるのかも分からない状態なので、 不明箇所があれば教えてください。
回答: duplicateで重複を指摘されているので、Unity Ads関係で重複しているのが原因かと思われます。 ストアから入れたものと、サービスから入れたパッケージとで衝突しているんじゃないでしょうか。 バックアップを取ってから Package Uninstaller (Assetストアにあります) とかを使って Ads 関連のファイルを探して一旦すべて削除し動作チェック。動くようならUnity Adsを再度入れ直すなどではいかがでしょうか。 他にも、XCODE側から「UnityAdsUnityWrapper.mm」(UnityAdsフォルダ内)を選択して「Unity-Iphone」のチェックを外したりという方法もあるようですが、望む動作になるかはわかりませんので詳しくは下記参考リンクをご参照ください 参考: