2014-10-29 18 views
0

我想導出一個ZIP文件,它是一個聲音文件。錯誤ssziparchive

然後我想用推送通知來控制這個聲音文件。

當我將聲音文件直接加載到Xcode中時,它可以工作。但是,我使用ZIP文件導出文件,但沒有找到該文件?

好像他沒有找到該文件?我究竟做錯了什麼?

我懷疑的錯誤是在這裏:toDestination:@""

https://github.com/soffes/ssziparchive

structure

- (IBAction)sound_ko:(id)sender { 
    //File check... 

    NSBundle *mainBundle = [NSBundle mainBundle]; 
    NSString *myFile = [mainBundle pathForResource: @"KO" ofType: @"zip"]; 

    BOOL fileExists2 = [[NSFileManager defaultManager] fileExistsAtPath:myFile]; 
    if (fileExists2 == NO){ 
     NSLog(@"DOESNT Exist!"); 
    } else { 
     NSLog(@"DOES Exist!"); 
    } 

    //Unzip File 
    if([SSZipArchive unzipFileAtPath:myFile toDestination:@""] != NO) { 
     NSLog(@"Dilip Success"); 
    }else{ 
     NSLog(@"Dilip Error"); 
    } 
} 
+0

這正好有**什麼**做的Xcode。 - 無論如何,你最好指定一個真正的**可寫**位置來解壓文件。 – 2014-10-29 10:02:11

回答

0

如果我理解正確的話,我應該解壓文件夾中的數據文件?

NSString *toDestination = [NSString stringWithFormat:@"%@/Files", [[NSBundle mainBundle] bundlePath]]; 

此錯誤消息:

[SSZipArchive]設置屬性失敗目錄: /var/mobile/Applications/C39AC61F-7466-49B7-9B01-4CAA1D46DBAD/firealarmapp.app/Files/ A.aiff。

[SSZipArchive]錯誤設置目錄文件的修改日期屬性:操作不能完成。 (可可錯誤4.)

0

你應該確保寫在一個可寫的位置。可能是提取文件的最佳位置是Temp文件夾。

0

還有就是你可以傳遞一個錯誤的指針接收一些更多的信息迅速在使用的方法是:

SSZipArchive.unzipFileAtPath(libAssetPath.path, toDestination: libSupportPath.path, overwrite: true, password: nil, error: &err, delegate: self) 

       if(err != nil){ 
        print("\(err.debugDescription)") 
       }