最近iPhoneアプリケーションを3.0 OSに対してコンパイルし始めました。iPhone 3.0 OSとのコンパイル時にUIActionSheetsに奇妙なエラーが発生しました
警告:3.0に対してコンパイルすると、次の警告もたらし、しかし2.2.1に対してコンパイル時にアプリがうまく働いた型「ID 」「UIActionSheetDelegate」 プロトコルに準拠していません を
これは、私のアプリケーションデリゲートクラスにある次のコードスニペットの2行目で発生します。
+ (PooClientAppDelegate*) instance;
{
UIApplication* app = [[UIApplication sharedApplication] delegate]; // warning occurs here
return (PooClientAppDelegate*)app;
}
このエラーは、以前のSDKのビルド時に表示されなかったため、どこから来たのかわかりません。
別の手掛かりや証拠として、アプリケーションを実行すると、アクションシートは表示されず、代わりにアクションシートのデフォルト選択が自動的に選択されます。私はこれが関連しているかどうかは分かりませんが、偶然のように聞こえるかもしれません。
ここで何が起こっていますか?
Duhh!それはそれを修正した素晴らしい!私のActionSheetのエラーはまったく異なるものでした。 警告には、UIActionSheetDelegateに言及されていますが、なぜそれが分かりますか? – aloo
@aloo -delegateメソッドはIDを返し、UIApplicationが実装する最初のプロトコルはUIActionSheetDelegateです。 idはそのプロトコルを実装していないので、エラーが発生しています。 (それは推測ですが、私はかなり正しいと思います) –
*私は正しいと確信しています。 (私はコメントを編集することができたら...) –