iPhone 5 と iOS6 をサポートするためのアプリの更新を終えたところ、奇妙なバグが見つかりました。
iOS5 ではこのコードは正常に動作しますが、すべての iOS6 デバイスでは、ボタンが押されても何も起こらず、デバッガーは buttonTitleAtIndex:buttonIndex を不明なメソッドとして認識します。文字列の代わりに実際の buttonIndex 番号を使用して回避策を作成しましたが、iOS6 でこれのサポートが変更される理由がわからないため、なぜこれが起こるのか混乱しています。
if([actionSheet buttonTitleAtIndex:buttonIndex] == @"Email to a friend") {
NSLog(@"Email");
[self displayComposerSheet];
}
else if ([actionSheet buttonTitleAtIndex:buttonIndex] == @"Add to Favorites") {
NSLog(@"favorites");
[self addFavorite];
}
else if ([actionSheet buttonTitleAtIndex:buttonIndex] == @"Post to Facebook") {
NSLog(@"Facebook");
[self shareOnFacebook];
}
else if ([actionSheet buttonTitleAtIndex:buttonIndex] == @"Tweet this") {
NSLog(@"tweet");
[self tweet];
}