尝试将libz.1.2.3.dylib添加到我的ipad项目时出现问题

时间:2011-04-14 11:49:05

标签: ipad ziparchive

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

哪些步骤会重现这个问题?

  1. 创建项目。

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

  3. 添加libz.1.2.3.dylib

  4. 预期产量是多少?你怎么看?

    我已经注释了所有代码(关于ziparchive),所以我的viewcontroller中只有#import #import“ZipArchive / ZipArchive.h”,我期望构建项目没有错误。

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

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

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

    请在下面提供任何其他信息。 我认为问题出在libz.1.2.3.dylib库中,我有一些客户可能会遇到问题:

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

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

    3. 我正在阅读很多关于如何修复类似问题的帖子,但没有人可以帮助我。

      我知道如何解决我的问题?

      非常感谢!!

3 个答案:

答案 0 :(得分:11)

你需要这样做:

  1. 从本地Frameworks文件夹中删除libz.1.2.3。你不需要它。
  2. 在Project Navigator顶部选择您的项目。
  3. 选择您的应用目标。
  4. 打开“Link Binary with Libraries”。
  5. 点击“+”
  6. 搜索“libz”。
  7. 选择“libz.dylib”。
  8. 如果您使用的是Xcode 4.5.2,下面的屏幕截图可能会帮助您继续执行第2步到第5步。我不确定其他版本的Xcode是否相同。

    xcode screenshot

答案 1 :(得分: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. 运行您的应用

  5. 工作正常。

答案 2 :(得分: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的内部深处徘徊....