0

I am making an android games with Unity 5.3.2. I used Google Play Games for log in, achievement, and leader board. Then i want my games available for IOS. I used cocoapod, this is my podfile :

source 'https://github.com/CocoaPods/Specs.git'

platform :ios, '8.0'

pod 'GooglePlayGames'

pod 'ChartboostSDK'

pod 'VungleSDK-iOS'

pod 'Google-Mobile-Ads-SDK', '~> 7.6'

I build it then i got link error :

7233 duplicate symbols for architecture armv7

Then i check which symbols are duplicate. I saw it from same file named "gpg.framework". How can this happened to have duplicate symbols in the same file? How can i fix this?

Thank you, Cindy

Note : check here to see error log

Cindy
  • 1
  • 2

1 Answers1

0

Duplicate symbols error are caused by the third party libraries in your project. This error is due to a name collision between one or more of your classes.

It explains here in this blog what is the procedure in fixing the issue.

In the example they use a project that have a static framework called Serenity that contains the SBJSON library inside. The duplicated symbols appears when using CocoaPods with the “unoffical-twitter-sdk”, which also has a dependency to SBJON. In this case, the duplicated symbols are therefore contained in Serenity and Pods.a binaries.

They fix it by playing with the Podspecs to leave out the SBJSON from the “unoffical-twitter-sdk”, but they have decided to remove the SBJSON from Serenity instead as it should not have been added in the first instance and anyway it contains an older version of SBJSON that the one in CocoaPods.

You can also check this SO question for more information especially the answer of Jacques.S, because you are using Cocoapods.

Community
  • 1
  • 1
KENdi
  • 7,576
  • 2
  • 16
  • 31