0

首先,我现在在这个网站上,如果我在发布这个问题时犯了一些错误,真的很抱歉。我正在尝试使用 zipArchive 类来管理 ipad 项目中的 zip 文件。

哪些步骤将重现该问题?

  1. 创建一个项目。

  2. 添加 ZipArchive 文件夹及其文件。

  3. 添加 libz.1.2.3.dylib

什么是预期的输出?你看到了什么呢?

我已经注释了所有代码(关于 ziparchive),所以我的视图控制器中只有 #import #import "ZipArchive/ZipArchive.h",我希望构建项目时不会出错。

我在编译器中看到以下错误:

ld:警告:忽略文件 /Developer/Platforms/iPhoneOS.platform/DeviceSupport/4.2/Symbols/usr/lib/libSystem.dylib,文件 ld 中缺少所需的体系结构 i386:在 /Developer/Platforms/iPhoneOS.platform/DeviceSupport/4.2 /Symbols/usr/lib/libobjc.A.dylib,在架构 i386 collect2 的文件中缺少所需的架构 i386:ld 返回 1 退出状态命令 /Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/llvm-gcc-4.2退出代码 1 失败

您使用的是什么版本的产品?在什么操作系统上?我在 Mac os X 版本 10.6.7 上使用 xcode 4 一个带有 4.2 ipad 模拟器的 ipad 项目

请在下面提供任何附加信息。我认为问题出在 libz.1.2.3.dylib 库上,我有一些客人可能是问题所在:

  1. libz.1.2.3.dylib 路径错误在 iPhoneSimulator.platform 上,对 ipad 也有效??如果不是,我可以将哪个库用于与 ipad 相同的目的?

  2. 我不确定我是否正确添加了 libz.1.2.3.dylib 库。我所做的是:右键单击资源文件夹-> 将文件添加到“myproject”-> 搜索 libz.1.2.3.dylib 并从您可以在编译器错误中看到的路径添加它的 4.2 版本。我也尝试添加到具有相同结果的框架文件夹中。

我正在阅读很多关于如何解决类似问题的帖子,但没有人能帮助我。

知道我必须做什么来解决我的问题吗?

真的谢谢!!

4

3 回答 3

11

你需要这样做:

  1. 从本地 Frameworks 文件夹中删除 libz.1.2.3。你不需要它。
  2. 在 Project Navigator 顶部选择您的项目。
  3. 选择您的应用程序目标。
  4. 打开“将二进制文件与库链接”。
  5. 点击“+”
  6. 搜索“libz”。
  7. 选择“libz.dylib”。

如果您使用的是 Xcode 4.5.2,下面的屏幕截图可能会帮助您完成第 2 步到第 5 步。我不确定其他版本的 Xcode 是否相同。

xcode 截图

于 2011-07-30T16:41:00.647 回答
1

如果您使用的是 xcode 4 或更高版本,则似乎 libz.1.2.3.dylib 不包含在 iOS5 sdk 中。这是解决此问题的简单方法:

  1. 在 XCode 4.2 中打开您的项目

  2. 从框架中删除 libz.1.2.3.dylib

  3. 添加新框架 libz.1.2.5

  4. 运行你的应用程序

它工作正常。

于 2012-11-10T05:03:29.583 回答
0

libz.dylib 是最新版本(当前为 libz.1.2.5)的别名,因此您还可以导航到终端中文件的位置并创建一个名为“libz.1.2.3.dylib”的符号链接。

cd /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator4.3.sdk/usr/lib/

sudo ln -s libz.1.2.5.dylib libz.1.2.3.dylib

您还可以链接到 libz.dylib,我希望它始终指向实际的最新版本,这就是 Tricon 建议将项目更改为仅包含 libz.dylib 的原因。我不确定我是否会删除任何内容,尽管它与添加新符号链接并没有太大不同……您仍然在 Xcode 的内部深处徘徊……

于 2011-10-20T16:14:24.250 回答