4

OS X 開発の学習の一環として、環境設定ペインを構築しようとしています。Apple の環境設定ペインのサンプル コードをダウンロードしてプロジェクトをビルドしようとすると、次のエラーが発生します。

clang: エラー: '-fobjc-arc' と '-fobjc-gc' の両方を指定することはできません

ビルド設定でガベージ コレクションをオフにすると、プロジェクトを適切にビルドできますが、設定ペインのサンプルがローカル マシンにインストールされると、次のように表示されなくなります。

「Intel ベースの Mac では機能しないため、PrefsPane の設定を開くことができません。」

アーキテクチャ (10.6、10.7) と Objective-C 自動参照カウント (はい、いいえ) と Objective-C ガベージ コレクション (サポート (-fobjc-gc)、サポートなし、必須 (-fobjc-gc のみ)) のすべての組み合わせを試しました。一部の組み合わせではプロジェクトをビルドできますが、環境設定ペインをロードできません。

Xcode 4.3.2 を使用して OS X 10.7 の環境設定ペインを構築および展開するために必要な適切なアーキテクチャ、ARC、および GC 設定は何ですか?

4

2 に答える 2

6

ガベージ コレクションをオフにしてビルド設定で ARC を有効にしてビルドされた PrefsPane は、Mac OS X 10.8.2 で動作します。「System Preferences.app」には、次のメッセージが表示されます。

    To use this preferences pane, System Preferences must quit and reopen.

これは、システム環境設定がデフォルトでガベージ コレクションを有効にして開始され、GC なしで環境設定ペインを開こうとすると、GC なしで再起動する必要があるためです。そのため、10.8 で ARC を使用して設定ペインを開発できます。

于 2012-11-12T21:47:13.510 に答える
3

私はちょうどこれに出くわしました。したがって、(Apple dev docsによると)次のようになります。

すべての 64 ビット設定ペインは、ガベージ コレクションを使用することが想定されています。ガベージ コレクションを使用すると、ほとんどの場合、コードが簡素化され、メモリ リークの可能性が減少します。

Snow Leopard では、システム環境設定アプリケーションは、ガベージ コレクションを有効にして 64 ビットの環境設定ペインを実行し、ガベージ コレクションを無効にして 32 ビットのペインを実行します。

詳細については、Snow Leopard 以降の環境設定パネルの更新を参照してください。

したがって、ARCは使用できません。GCのみ。

于 2012-04-16T01:26:36.153 に答える