2011-02-10 11 views
18

Ho riscontrato strani errori di collegamento in XCode. Capisco più o meno gli errori di collegamento, non solo perché si presentano nella mia situazione.Quali sono le cause degli errori di collegamento di iOS?

Ho un'app avviata solo come iPhone. Quando ho regolato per essere universale ho avuto alcuni errori di collegamento dispari. Ho quindi semplicemente creato un nuovo progetto universale e ho importato i file, è stato creato ed eseguito senza errori. Ora, lavorando con l'interfaccia iPad, ho aggiunto alcune animazioni e sto ereditando QuartzCore/QuartzCore.h ma quando costruisco, ottengo degli errori di collegamento (mostrati sotto). Che cosa causa questo tipo di problema, come posso risolverlo e come posso evitarlo in futuro?

"_OBJC_CLASS_$_CAMediaTimingFunction", referenced from: 
objc-class-ref-to-CAMediaTimingFunction in mainViewController_iPad.o 

"_OBJC_CLASS_$_CABasicAnimation", referenced from: 
objc-class-ref-to-CABasicAnimation in mainViewController_iPad.o 

"_kCAMediaTimingFunctionEaseIn", referenced from: 
_kCAMediaTimingFunctionEaseIn$non_lazy_ptr in mainViewController_iPad.o 
(maybe you meant: _kCAMediaTimingFunctionEaseIn$non_lazy_ptr) 

"_OBJC_CLASS_$_CAKeyframeAnimation", referenced from: 
objc-class-ref-to-CAKeyframeAnimation in mainViewController_iPad.o 

"_OBJC_CLASS_$_CAAnimationGroup", referenced from: 
objc-class-ref-to-CAAnimationGroup in mainViewController_iPad.o 

"_CATransform3DIdentity", referenced from: 
_CATransform3DIdentity$non_lazy_ptr in mainViewController_iPad.o 
(maybe you meant: _CATransform3DIdentity$non_lazy_ptr) 

ld: symbol(s) not found 
collect2: ld returned 1 exit status 
+7

Avete il framework QuartzCore nel vostro progetto? –

+1

@Paul R: Perché non rendere il tuo commento una risposta? –

+0

@Marcelo: all'epoca era solo un'ipotesi, e sembrava un po 'troppo ovvio, ma a quanto pare mi sbagliavo. ;-) –

risposta

63

È necessario aggiungere QuartzCore.framework.

+0

Mille grazie. Non sapevo di aggiungere la libreria al target stesso. –

+0

è necessario aggiungere anche questa importazione #import ademar111190

+1

Questo è falso @ ademar111190. Non riceverai l'errore se non hai provato a importare l'intestazione. Si riceve questo errore perché si sta tentando di eseguire l'importazione su un framework non collegato alla propria applicazione. – WrightsCS

Problemi correlati