Ios4 Xcode 4 Analyze未检测到内存泄漏情况

Ios4 Xcode 4 Analyze未检测到内存泄漏情况,ios4,xcode4,static-analysis,clang-static-analyzer,Ios4,Xcode4,Static Analysis,Clang Static Analyzer,我的iOS应用程序中有以下代码: - (IBAction)cameraButtonPressed:(id)sender { if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera] == NO) { return; } UIImagePickerController *cameraUI = [[UIImagePickerC

我的iOS应用程序中有以下代码:

- (IBAction)cameraButtonPressed:(id)sender
{
    if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera] == NO)
    {
        return;
    }

    UIImagePickerController *cameraUI = [[UIImagePickerController alloc] init];
    cameraUI.sourceType = UIImagePickerControllerSourceTypeCamera;
    cameraUI.allowsEditing = NO;
    cameraUI.delegate = self;
    [self presentModalViewController:cameraUI animated:YES];
}

此代码的问题在于需要一个
[cameraUI release]。在过去,Xcode中内置的静态代码分析器帮助我解决了这些问题,但在我当前安装的Xcode 4.0.2中,它没有发现这个问题。我曾尝试重新启动Xcode,并尝试了Clean Build文件夹(在单击项目菜单时按住选项),但没有成功。最新Xcode中的分析器是否有问题,或者我是否缺少了其他东西?

UIImagePickerController是自动释放的对象,显示了这一点


UIImagePickerController*cameraUI=[[UIImagePickerController alloc]init]autorelease]

您应该在
UIImagePickerControllerDelegate
回调方法中释放
picker

在过去,静态代码分析器 内置Xcode帮助我抓住了 这些疏忽,但与我的当前 Xcode 4.0.2安装,找不到 这个问题


考虑到John Boker的答案,您可能不再关心,但如果这确实是一个问题,您可以使用较旧(或更新)版本的Clang静态分析器,方法是从下载该分析器,并告诉Xcode将其与
set Xcode analyzer
命令()一起使用。

是的,您是对的,尽管它看起来很奇怪,发布需要在委托回调中。谢谢