2015-07-07 23 views
7

Ho scaricato ultima LinkedIn SDK e ha aggiunto al mio progetto, ma non è riuscito edificioLinkedIn SDK simbolo duplicato

duplicate symbol _OBJC_METACLASS_$_PodsDummy_Pods in: /linkedin-sdk.framework/linkedin-sdk(Pods-dummy.o) /Build/Products/Debug-iphonesimulator/libPods.a(Pods-dummy.o) duplicate symbol _OBJC_CLASS_$_PodsDummy_Pods in: /linkedin-sdk.framework/linkedin-sdk(Pods-dummy.o) /Build/Products/Debug-iphonesimulator/libPods.a(Pods-dummy.o) ld: 2 duplicate symbols for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation)

Qualcuno sa come risolvere il problema?

+0

possibile duplicato del [Prevenire duplicare simboli quando si costruisce libreria statica con Cocoapods] (http://stackoverflow.com/questions/21249273/prevent-duplicate-symbols-when -building-static-biblioteca-con-cocoapods) –

+0

anche qui si discute di questo problema: https://github.com/CocoaPods/CocoaPods/issues/1767 –

+0

questa soluzione ha risolto lo stesso problema per me: http : //stackoverflow.com/a/30722343/3820161 – dce

risposta

23

Ho avuto lo stesso problema e ho trovato una soluzione alternativa finché l'SDK di LinkedIn non è stato "risolto".

È sufficiente aggiornare il file Pods-dummy.m nel progetto Pods Xcode da:

#import <Foundation/Foundation.h> 
@interface PodsDummy_Pods : NSObject 
@end 
@implementation PodsDummy_Pods 
@end 

a

#import <Foundation/Foundation.h> 
@interface PodsDummy_Podsxx : NSObject 
@end 
@implementation PodsDummy_Podsxx 
@end 

e sarà quindi collegamento.

Nota: è necessario effettuare il patch ogni volta che si aggiornano i pod tramite la riga di comando, ad es. "Pod install" o aggiornare ecc

+0

Questo è fantastico .. semplice correzione e ha funzionato come un fascino ... Grazie amico .. !! – sansid1983

+0

@Peter Li, Amazing hack dude! :) – footyapps27

+0

Non funziona per me. – ManiaChamp

3

non posso commentare in modo lascerò questo come una risposta a @rinat, non avevo bisogno di cambiare l'altro nome baccelli, basta aggiungere:

post_install do |installer_representation| 
    installer_representation.project.targets.each do |target| 
     target.build_configurations.each do |config| 
      config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] =  '$(inherited), PodsDummy_Pods=SomeOtherNamePodsDummy_Pods' 
     end 
    end 
end 

al file pod. Ad ogni modo, l'SDK linkedIn non ha funzionato affatto per me. Non sono stato in grado di farlo funzionare, semplicemente non funziona durante l'autenticazione con l'app pronta. Nessun log, niente ... Ho finito con l'implementazione di un normale login web OAuth2.

3

Hey c'è bisogno di cambiare PodsDummy_Pods nome al PodsDummy_Podsxx ogni volta che si aggiorna il tuo Pod tramite la riga di comando, per esempio "pod install" o aggiornamento, ecc.

Incolla sotto il codice in Podfile. linkedIn SDK di lavoro fresco ......

post_install do |installer_representation| 
    installer_representation.pods_project.targets.each do |target| 
     target.build_configurations.each do |config| 
      config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] = '$(inherited), PodsDummy_Pods=SomeOtherNamePodsDummy_Pods' 
     end 
    end 
end 
Problemi correlati