Ziparchive не работает с устройством iphone

Я создаю zip-файл моих данных, который находится в каталоге документов, проблема в том, что он хорошо работает с симулятором iphone, но такое же кодирование не работает для фактического устройства iphone, которое является телефоном 5

Вот мой фрагмент кода

ZipArchive *archiver = [[ZipArchive alloc] init];
[archiver CreateZipFile2:archivePath];
for(NSString *path in subpaths)
{
    NSString *longPath = [exportPath stringByAppendingPathComponent:path];
    if([fileManager fileExistsAtPath:longPath isDirectory:&isDir] && !isDir)
    {
        [archiver CreateZipFile2:longPath];
        [archiver addFileToZip:longPath newname:path];
    }
}
BOOL successCompressing = [archiver CloseZipFile2];

Я пытался погуглить, но это не помогло. Пожалуйста, помогите мне. Спасибо.


person Kirtikumar A.    schedule 13.09.2013    source источник
comment
ты решил свою проблему??   -  person user1673099    schedule 13.09.2013
comment
Нет, я пробовал то же, что и ваш, но не решил, вместо этого я сделал без zip и отправил его на сервер   -  person Kirtikumar A.    schedule 13.09.2013


Ответы (2)


Здравствуйте, попробуйте с кодом ниже:

NSArray* paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString* dPath = [paths objectAtIndex:0];
NSString* txtfile = [dPath stringByAppendingPathComponent:@"test.txt"];
NSString* zipfile = [dPath stringByAppendingPathComponent:@"test.zip"];
ZipArchive* zip = [[ZipArchive alloc] init];
BOOL ret = [zip CreateZipFile2:zipfile];
ret = [zip addFileToZip:txtfile newname:@"test.txt"];//zip
if( ![zip CloseZipFile2] )
{
    zipfile = @"";
}
[zip release];
NSLog(@"The file has been zipped");
person Nirmalsinh    schedule 13.09.2013

Попробуй это:

   NSString *documentsDirectory = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];


     NSString *toCompress = @"AccReport1.html";
    NSString *pathToCompress = [documentsDirectory stringByAppendingPathComponent:toCompress];

    NSFileManager *fileManager = [NSFileManager defaultManager];



    NSString *zipFilePath = [documentsDirectory stringByAppendingPathComponent:@"myZipFileName.zip"];

    ZipArchive *za = [[ZipArchive alloc] init];
    [za CreateZipFile2:zipFilePath];  

    [za addFileToZip:pathToCompress newname:toCompress];
    [za release];

Убедитесь, что вы написали эту строку: NSFileManager *fileManager = [NSFileManager defaultManager];

person user1673099    schedule 13.09.2013