小编Mad*_*huP的帖子

如何将UIImage转换为NSData或CFDataRef?

我如何转换UIImageNSDataCFDataRef?我需要传递CFDataRefABPersonSetImageData.

iphone uiimage ios

10
推荐指数
2
解决办法
1万
查看次数

UIImagePickerController内存泄漏

UIImagePickerController在我的iPhone应用程序中使用时,我发现内存泄漏很大.我正在使用apple文档中的标准代码来实现控件:

    UIImagePickerController* imagePickerController = [[UIImagePickerController alloc] init];
    imagePickerController.delegate = self;
    if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera]) {

        switch (buttonIndex) {
            case 0:
                imagePickerController.sourceType = UIImagePickerControllerSourceTypeCamera;
                [self presentModalViewController:imagePickerController animated:YES];
                break;
            case 1:
                imagePickerController.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
                [self presentModalViewController:imagePickerController animated:YES];
                break;
            default:
                break;
        }
    }
Run Code Online (Sandbox Code Playgroud)

并取消:

-(void) imagePickerControllerDidCancel:(UIImagePickerController *)picker
{
    [[picker parentViewController] dismissModalViewControllerAnimated: YES];
    [picker release];
}
Run Code Online (Sandbox Code Playgroud)

didFinishPickingMediaWithInfo回调就像标准一样,虽然我甚至不需要选择任何导致泄漏的东西.

这是我在乐器中看到的,当我所做的只是打开UIImagePickerController,选择照片库,并反复按取消.正如您所看到的,内存不断增长,最终导致我的iPhone应用程序速度大幅下降.

在此输入图像描述

正如你所看到的那样,我打开了24次图像选择器,每次都是malloc'd 128kb,它从未发布过.基本上我总共6mb中的3mb永远不会被释放.

无论我做什么,这个记忆都会泄露.即使在离开当前控制器之后,仍然是相同的.我还将拾取器控件实现为具有相同结果的单例.

以下是我深入研究这两行时所看到的内容:

在此输入图像描述

这里的任何帮助将不胜感激!再说一次,我甚至不必选择图像.我只是出现控制器,然后按取消.

更新1

我下载并运行了苹果的使用示例,UIIMagePickerController我看到在运行仪器时(在模拟器和手机上)都发生了相同的泄漏.

http://developer.apple.com/library/ios/#samplecode/PhotoPicker/Introduction/Intro.html%23//apple_ref/doc/uid/DTS40010196

所有你要做的就是点击照片库按钮并反复点击取消,你会看到内存不断增长.

有任何想法吗?

更新2

我只在查看照片库时才看到此问题.我可以选择拍照,一遍又一遍地打开和关闭那张照片,没有泄漏.

iphone memory-leaks objective-c uiimagepickercontroller ios

8
推荐指数
2
解决办法
5748
查看次数

由于恢复IAP,Apple拒绝了我的应用程序

我有一个恢复按钮.问题是,如果他们没有"完成恢复,并且他们尝试购买物品,并且他们已经购买了该物品,我需要告诉他们他们已经购买了它而不进行购买.所以我需要一种方法来知道他们购买了哪些物品,而不进行恢复.我试图在用户试图购买时首先进行恢复,但苹果拒绝了我的应用.他们表示,在显示"确认应用程序内购买"对话框之前,无法进行还原.

请帮我找到正确的方法.

提前致谢.

iphone in-app-purchase ios

8
推荐指数
1
解决办法
1186
查看次数

在iphone中获取文档目录文件日期修改时间

NSArray *documentPath = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *currDircetory = [documentPath objectAtIndex:0];
NSArray *filePathsArray = [[NSFileManager defaultManager] subpathsOfDirectoryAtPath:currDircetory  error:nil];
for (NSString *s in filePathsArray){
        NSLog(@"file %@", s);
}
Run Code Online (Sandbox Code Playgroud)

现在我使用上面的代码从文档目录获取文件列表现在我想知道如何在文档目录中获取文件的修改时间.

谢谢,

维贾雅恩

iphone ios

2
推荐指数
2
解决办法
2427
查看次数

在方向更改时自动缩放UIView,以按比例缩放以适合父视图

一个UIImage集查看"看点合格"会自动动态地扩展它的形象,以适应的电流范围内UIUmageView,同时保持图像的比例.一UIView对"看点飞度"似乎并设置为不具有此相同的效果上它的子视图.

我试图通过代码设置父视图,使用下面的代码,并尝试自动调整大小掩码的几个变体(我没有使用自动布局).我是否遗漏了一些明显的东西,或者我是否需要编写一些代码来根据父视图的当前大小计算子视图的正确比例?

[self.view setContentMode:UIViewContentModeScaleAspectFit];
Run Code Online (Sandbox Code Playgroud)

uiview ios autoresizingmask

2
推荐指数
1
解决办法
1万
查看次数