2011-09-18 14 views
11

私はココアタッチでグラデーションを使用しようとしています。参照、
"_OBJC_CLASS _ $ _ CAGradientLayer":Objective-C - 未定義のシンボル

#import <QuartzCore/QuartzCore.h> 

CAGradientLayer *gradient = [CAGradientLayer layer]; 
gradient.frame = mainView.bounds; 
gradient.colors = [NSArray arrayWithObjects:(id)[[UIColor blackColor] CGColor], (id)[[UIColor whiteColor] CGColor], nil]; 
[mainView.layer insertSublayer:gradient atIndex:0]; 

しかし、私はコンパイルしようとすると、私は次のエラーを取得する:私はこのために、次のコードを使用していi386アーキテクチャ用

未定義のシンボルFrom:OfficeViewController.oのLDにおける にObjCクラス-REF:記号(S)i386アーキテクチャのためcollect2は が見つかりません:ldは1つの終了ステータスを戻さ

私は無駄にきれいにしようとしました。他に何ができますか?

答えて

48

プロジェクトに実際にQuartzCoreフレームワークを組み込んでいることを確認してください。これは、リンクのバイナリを持つライブラリの段階で次のようになります。

enter image description here

+5

そして、その画面に到達するステップはここに綴られています:http://stackoverflow.com/a/6961788/338265 –

+1

これを行うとき、Xcodeはフレームワークを追加するかもしれませんが、間違ったターゲットです。構築しているターゲットに対してフレームワークが選択されていることを確認してください – pheelicks

3

QuartzCoreフレームワークをプロジェクトにも含めましたか?ヘッダーを追加するだけでは不十分です。

+0

感謝。 QuartzCoreフレームワークを追加せずにQuartzCore関数のいくつかをlayerプロパティのように使うことができるのはなぜですか? –

関連する問題