从文档目录中的文件夹创建 ZIP 文件 - Objective C (ARC)

2024-01-06

我有一个使用 ARC 开发的 iPhone 应用程序。我的文档目录中有一个文件夹,其中包含一堆图像,我需要将其压缩并通过电子邮件发送。我的项目使用ARC。

有人有任何对我有帮助的示例代码/资源链接吗?

我在网上查了一下,发现与 ARC 不兼容——即使它声称是。


从此链接下载 Objective-Zip、MiniZip 和 ZLib 并将其拖入您的项目http://code.google.com/p/objective-zip/downloads/list http://code.google.com/p/objective-zip/downloads/list(目标-zip)。导入文件: ZipFile.h, ZipException.h, 文件压缩信息.h, ZipWriteStream.h, ZipReadStream.h, 兹库文件

使用此代码。请看下面:

NSString *stringPath1 = [[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)objectAtIndex:0]];
    NSString *FileName=[stringPath1 stringByAppendingPathComponent:@"Your file name"];


    NSString *stringPath=[stringPath1 stringByAppendingPathComponent:[@"Your file name" stringByAppendingFormat:@".zip"]];
    NSArray *files = [[NSFileManager defaultManager]contentsOfDirectoryAtPath:FileName error:&error];
    ZipFile *zipFile = [[ZipFile alloc]initWithFileName:stringPath mode:ZipFileModeCreate];

    for(int i = 0;i<files.count;i++){

        id myArrayElement = [files  objectAtIndex:i];
        NSLog(@"add %@", myArrayElement);

        NSString *path = [FileName stringByAppendingPathComponent:myArrayElement];
        NSDictionary *attributes = [[NSFileManager defaultManager]attributesOfItemAtPath:path error:&error];
        NSDate *Date = [attributes objectForKey:NSFileCreationDate];

        ZipWriteStream *streem = [zipFile writeFileInZipWithName:myArrayElement fileDate:Date compressionLevel:ZipCompressionLevelBest];
        NSData *data = [NSData dataWithContentsOfFile:path];
        [streem writeData:data];
        [streem finishedWriting];
    }

    [zipFile close];
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从文档目录中的文件夹创建 ZIP 文件 - Objective C (ARC) 的相关文章

随机推荐

  • 会话锁定导致 ASP.Net 网站速度缓慢

    我刚刚发现 ASP Net Web 应用程序中的每个请求都会在请求开始时获取会话锁 然后在请求结束时释放它 如果您像我一开始一样不明白这其中的含义 那么这基本上意味着以下内容 任何时候 ASP Net 网页需要很长时间才能加载 可能是由于数
  • Play Framework 2.0.1 DateFormatter 接收系统区域设置

    我在 Play 2 0 Java 中编写了一个自定义 DateFormatter 因为默认的 DateFormatter 似乎是 i18n 不支持的 实现细节与此处无关 public class DateFormatter extends
  • C# 中用于语音认证的互相关和 FFT

    这是与其他问题类似的问题 但不是重复的问题 但是 我仍然无法得到正确的结果 我基本上试图记录两个 Wav 文件 1 基本文件 2 临时文件 然后将其转换为字节并传递给 Aforge FFT 然后传递给相关性 很少有混乱 当我录制文件时 我使
  • 从 TypeScript 声明全局命名空间变量

    如何从打字稿中显式声明全局命名空间中的变量 我需要编译器生成以下 JavaScript 代码 MyExtension someFunction 不幸的是 我只能让它生成 var MyExtension someFunction 这涉及到最新
  • C 中对“main”的未定义引用

    您好 我在使用 gcc 编译 c 代码时遇到以下错误 usr lib gcc x86 64 redhat linux 4 4 6 lib64 crt1 o In function start text 0x20 undefined refe
  • MS SQL 异常:“@P0”附近的语法不正确

    我正在使用 MS SQL 查询数据库 由于某种原因 我收到以下错误 com microsoft sqlserver jdbc SQLServerException Incorrect syntax near P0 即使这个 P0 不在我的语
  • 将数据插入文本文件

    我想在文本文件中的某些位置插入数据 而不实际覆盖现有数据 我有两个文本文件 one txt 文件有 1000 行 two txt 文件有 10000 行 我想读取 one txt 文件内容并插入 two txt 文件内容的前1000行 将
  • 合并 2 个对象数组

    让我们看一个例子 var arr1 new Array name lang value English name age value 18 var arr2 new Array name childs value 5 name lang v
  • vue-template-compiler/package.json 每个新项目都缺少模块

    目前 我从linux切换到windows 开始创建编程环境 我不记得linux上有类似的问题 但重点是 1 安装的 Node js2 npm install g vue cli用于 CLI 安装3 vue create my app 4 n
  • JFileChooser - 多个文件过滤器?

    我对 Swing 中的 JFileChooser 有疑问 我试图在下拉框中获取多个文件扩展名 但不知道该怎么做 有方法 extFilter FileNameExtensionFilter description extensions 然后我
  • 可移植类库不支持System.IO,为什么?

    我创建了一个便携式类库用于我的Monodroid项目 但问题是我需要系统IO库 但不幸的是我无法添加它 我什至尝试通过 添加引用 选项来添加它 但这是徒劳的 为什么会发生这样的事 我该怎么做 你不能使用System IO因为它不是一个可移植
  • 在服务层或存储库层管理事务?

    我有一个特定的场景 其中基于某些约束在多个表上完成插入和更新 因此很自然地在这些场景中使用事务范围 现在 我有一个存储库层和一个服务层 服务层调解存储库和 UI 并且始终处于无知状态 现在我很困惑在服务层或存储库层中的何处使用事务 我没有使
  • Facebook Sdk 尚未初始化 FacebookSdk.sdkInitialize()

    嘿 我知道以前有人问过这个问题 但似乎没有一个解决方案有帮助 我在我的应用程序中第一次使用 Facebook SDK 我尝试过的 我已经尝试过大部分在Internet但没有得到任何关于此事的信息 这是我的 MainActivity java
  • Qt 为什么不使用异常处理?

    我一直想知道 由于 Qt 以一种美妙且创新的方式使用了标准中的几乎所有 C 功能 并且每当它不使用特定功能时 它都有一个完全有效且适用的理由不这样做 在这种情况下 为什么没有 Qt 类使用throw关键字和throw有什么例外吗 他们从不要
  • C++ 中的向量下标超出范围错误

    我正在尝试编写一个程序 它接受 n 个整数的输入 并找出给定输入中出现次数最多的那个 我正在尝试为 t 种情况运行该程序 为此 我实现了一种类似计数排序的算法 可能有点天真 它计算输入中每 个数字出现的次数 如果有多个数字具有相同的最大出现
  • AttributeError:“list”对象在 App Engine 中没有属性“has_key”

    我在应用程序引擎的批量加载器方面遇到一些问题 下面我插入了bulkloader yaml hs transformers py 和错误日志 知道是什么产生了这个错误吗 我的hs transformer如果我返回单个实体 只是一个实体 而不是
  • 在 jquery UI datepicker 范围中使用 altFormat 和 altField

    我正在尝试获取 从 和 到 的日期范围 以将其添加到我的数据库中 我使用 altFormat 和 altField 捕获 DB 格式 yy mm dd 的日期 同时使用 Datepicker jquery UI 组件在 UI 中显示正常日期
  • Three.js 图像不是两个警告的幂

    我对从 Three js 收到的警告有疑问 警告是 THREE WebGLRenderer 图像不是2的幂 600x480 调整大小为 512x512我尝试添加 THREE LinearFilter 但它没有任何作用 var texture
  • 与 MediaRecorder Android 6.0 (API 23) 一起使用的“Seekable”文件描述符

    所以我尝试使用我的 Android 作为网络摄像头 我的代码对于 API ParcelFileDescriptor s createPipe 创建用于读取和写入的管道的方法 简而言之 我对管道的写入如下所示 ParcelFileDescri
  • 从文档目录中的文件夹创建 ZIP 文件 - Objective C (ARC)

    我有一个使用 ARC 开发的 iPhone 应用程序 我的文档目录中有一个文件夹 其中包含一堆图像 我需要将其压缩并通过电子邮件发送 我的项目使用ARC 有人有任何对我有帮助的示例代码 资源链接吗 我在网上查了一下 发现与 ARC 不兼容