2

すべての新しいiOS5メソッドに当てはまるわけではありませんがsetBackgroundImage:forBarMetrics:、デプロイメントターゲットが5.0未満の場合、UINavigationBarのメソッドを呼び出すと「インスタンスメソッドが見つかりません」という警告がトリガーされることがわかりました。これは、SDK5.0とリンクしているにもかかわらずです。

さらに重要なことに、パラメータとして使用される列挙型UIBarMetricsは、「宣言されていない識別子」として報告され、これによりコンパイラエラーがトリガーされます。

なぜそうなのか、何か考えはありますか?デプロイメントターゲットが5.0未満の場合、コードは機能しないことに気付きましたが、実行時にUINavigationBarがそのセレクターに応答するかどうかを確認しているので、すべて問題ないはずです。コンパイラエラーはわかりませんが。

編集:これは、デバイス用にコンパイルするとき、およびデバイスが実際に接続されているときにのみ発生します(私がテストしたデバイスはiOS 5.0.1を実行します)。

4

1 に答える 1

2

さて、謎を解き明かしました。SDK 4.3を削除することで問題を解決できます(最新のXcode + SDKパッケージにはデフォルトで付属しておらず、別のレガシープロジェクトに使用していたため、Xcode 3からコピーしました)。

最新のSDKでコンパイルしているので、両方のSDKでエラーが発生した理由をまだ説明できません。

于 2011-11-21T18:03:03.650 に答える