1

下記のコードを書いたときにこのエラーが発生しました。基本的に、UIImagePickerControllerによってキャプチャされたビデオをアプリディレクトリに保存したいのですが、間違えた場所がわかりません。助けてください。

- (void) imagePickerController: (UIImagePickerController *) picker didFinishPickingMediaWithInfo: (NSDictionary *) info
{
    NSString *mediaType = [info objectForKey: UIImagePickerControllerMediaType];
    [self dismissModalViewControllerAnimated:NO];
    // Handle a movie capture
    if (CFStringCompare ((__bridge_retained CFStringRef) mediaType, kUTTypeMovie, 0) == kCFCompareEqualTo)
    {
        NSArray  *documentPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
        NSString *documentsDir  = [documentPaths objectAtIndex:0];
        NSString *movieName = [NSString stringWithFormat:@"%@.mov",[self getNameForVideo]];
        NSString *moviePath    = [documentsDir stringByAppendingPathComponent:movieName];
        NSURL * movieURL = [info valueForKey:UIImagePickerControllerMediaURL];
        NSData * movieData = [NSData dataWithContentsOfURL:movieURL];
        if([movieData writeToFile:moviePath atomically:NO])
        {
            [self saveVideoInfoInDatabase];
        }
        else
        {
            NSLog(@"Video could not be saved to the document directry");
        }
    }
}
4

1 に答える 1

1

これは、メモリの制約の原因です(さまざまな形で現れます)。また、ダウンロードが終了したときとそのときのUIとの間のスレッド化された対話動作の原因である可能性もあります。後者が前者の前に作成された場合、UIAlertViewの表示とUIWebViewの作成に問題があると指摘する人もいます。クイックダウンロード接続がある場合(シミュレーターとローカルWebサーバーの場合に当てはまる可能性があります)、ダウンロードの終了が速すぎてUIが通知を表示する準備ができていないことに気付く場合があります。ダウンロードが完了しました。

于 2012-09-26T11:06:45.843 に答える