我知道重复的符号是一个经常出现的问题,但这个特别或至少我在iOS开发中的知识对我没有帮助.
我以前在我的最终应用程序中使用了GooglePlayGames(GPG),在我的SDK中使用了GoogleCloudMessaging(GCM)但是今天出于某种原因,事情开始爆炸(想法:由于上次GCM更新但我无法获得旧版本)
考虑到我的SDK中的GCM的最新版本,我有:
Podfile
pod 'MySDK' # All good pod 'Google/CloudMessaging' # Nothing special...
产量
$pod update Update all pods Updating local specs repositories Analyzing dependencies Downloading dependencies ... Installing GGLInstanceID (1.1.5) # Dependencies Installing Google (1.3.2) # relative to GCM Installing GoogleCloudMessaging (1.1.2) Installing GoogleIPhoneUtilities (1.1.1) Installing GoogleInterchangeUtilities (1.1.0) Installing GoogleNetworkingUtilities (1.0.0) Installing GoogleSymbolUtilities (1.0.3) Installing GoogleUtilities (1.1.0) ... Generating Pods project Integrating client project
在我的最终申请中:
Podfile
pod 'GooglePlayGames' # Nothing special...
产量
$pod update Update all pods Updating local specs repositories Analyzing dependencies Downloading dependencies ... Installing GoogleAppUtilities (1.0.0) # Dependencies relative Installing GoogleAuthUtilities (1.0.1) # to GPG Installing GooglePlayGames (5.0) Installing GooglePlusOpenSource (1.7.1) Installing GoogleSignIn (2.4.0) ... Generating Pods project Integrating client project
当我构建我的最终应用程序时,这是我的错误(显式但我找不到任何解决方案……)
duplicate symbol _OBJC_CLASS_$_GIPLocale in: /Users/Path/To/App/Pods/GoogleIPhoneUtilities/Libraries/libGIP_Locale.a(GIPLocale.o) /Users/Path/To/App/Pods/GooglePlayGames/gpg-cpp-sdk/ios/gpg.framework/gpg(GIPLocale.o)
据我所知,我有两次GIPLocale让我有重复的符号.如果我们看看有关的Pod,一个属于GPG,另一个属于GCM.
我尝试了很多东西但没有成功.
这可以使用空项目轻松重现,并在同一Podfile中添加两个依赖项.请注意,必须禁用ENABLE_BITCODE.
在Xcode配置中,可能是某些愚蠢的东西丢失了……