表題の通りです。 とあるプロジェクトにてFirebase crashを追加した際にduplicate symbolエラーが発生してしまいました。
duplicate symbol _BreakpadUploadReportWithParametersAndConfiguration in:
/Users/yamacraft/xxx/Pods/FirebaseCrash/Frameworks/FirebaseCrash.framework/FirebaseCrash(Breakpad_05db9f18bf48e68163defbe5ffd8dec3.o)
/Users/yamacraft/xxx/external/Parse/ParseCrashReporting.framework/ParseCrashReporting(Breakpad.o)
duplicate symbol _BreakpadGetNextReportConfiguration in:
/Users/yamacraft/xxx/Pods/FirebaseCrash/Frameworks/FirebaseCrash.framework/FirebaseCrash(Breakpad_05db9f18bf48e68163defbe5ffd8dec3.o)
/Users/yamacraft/xxx/external/Parse/ParseCrashReporting.framework/ParseCrashReporting(Breakpad.o)
duplicate symbol _BreakpadHandleNetworkResponse in:
/Users/yamacraft/xxx/Pods/FirebaseCrash/Frameworks/FirebaseCrash.framework/FirebaseCrash(Breakpad_05db9f18bf48e68163defbe5ffd8dec3.o)
/Users/yamacraft/xxx/external/Parse/ParseCrashReporting.framework/ParseCrashReporting(Breakpad.o)
ld: 3 duplicate symbols for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
ここは憶測の部分なのですが、恐らく両方ともbreakpadと呼ばれるクラッシュレポートの送受信システムを利用しているため、duplicate symbolエラーが発生しているのではないかと思われます。
なのでさっさと通知はParseからFirebase notificationに変えましょう。もしこの憶測があっている場合、breakpadを利用して作られたクラッシュレポートシステムを導入済みの場合、同様の問題が起こる可能性があります。気をつけましょう。