2011-12-12 18 views
10

ハーフページカール機能を実行しようとしています。これは私が使用していますコードです:リンカコマンドがアーキテクチャi386の未定義シンボルで失敗しました

#import <QuartzCore/QuartzCore.h> 


CATransition *animation = [CATransition animation]; 
[animation setDelegate:self]; 
[animation setDuration:1.0f]; 
[animation setTimingFunction:UIViewAnimationCurveEaseInOut]; 
[animation setType:(notCurled ? @"mapCurl" : @"mapUnCurl")]; 
[animation setRemovedOnCompletion:NO]; 
[animation setFillMode: @"extended"]; 
[animation setRemovedOnCompletion: NO]; 
notCurled = !notCurled; 

しかし、私は

Undefined symbols for architecture i386: 
    "_OBJC_CLASS_$_CATransition", referenced from: 
     objc-class-ref in MyMapViewController.o 
ld: symbol(s) not found for architecture i386 
clang: error: linker command failed with exit code 1 (use -v to see invocation) 


    "_OBJC_CLASS_$_CATransition", referenced from: 


     objc-class-ref in SJMapViewController.o 


ld: symbol(s) not found for architecture i386 


clang: error: linker command failed with exit code 1 (use -v to see invocation) 

は、私はそれをどのように解決することができ、次のエラーが発生しますか?

答えて

23

あなたのアプリはCATransition Symbolが見つからないと訴えています。

QuartzCoreフレームワークをアプリケーションに追加しましたか?

追加しない場合:ターゲット設定 - >ビルドフェーズ - >リンクバイナリ - > +ボタンを選択してQuartzCoreを選択します。

は、あなたがそれを使用する必要がどこにそれをインポートします。

 #import <QuartzCore/QuartzCore.h> 
+0

を私は、私はフレームワークを追加したと思ったことを再確認し、私は追加していないことがわかりました。ありがとう。 –

+3

同じ問題がありましたが、別のライブラリからプロジェクトにインポートしたコードと関係がありました。誰かがその問題を抱えている場合は、ビルドフェーズに進み、インポートしたファイルをソースをコンパイルに追加します。 – robhasacamera

+0

ありがとう、@robhasacamera、それは私が必要としたものです。なぜ私はまだフレームワークと輸入が正しく設定されている問題を抱えていたのか分からなかった。 –

関連する問題