【问题标题】:Up to date instructions on how to install XMPPFramework manually?有关如何手动安装 XMPPFramework 的最新说明?
【发布时间】:2012-02-23 21:27:00
【问题描述】:

我很难让 XMPPFramework 正常工作。 我已经按照网上写的每一个方向,XCode 没有找到我的任何 XMPPFramework 类。

“XMPPStream”之前的预期说明符限定符列表 XMPP.h:没有这样的文件或目录 XMPPRoster.h: 没有这样的文件或目录

我已将 XMPPFramework 复制到我的项目的根目录中。为什么看不到这些文件?在标题搜索路径或库搜索路径下我需要做些什么吗?

我已将这些条目设置为 $(inherited) 和 $(SRCROOT),XCode 4.2 自动填充我项目的根目录,但仍然找不到我的文件。

我很确定我不是唯一一个遇到此问题的人,而且它是个大问题。有什么想法吗?

【问题讨论】:

标签: iphone ios xcode xmppframework


【解决方案1】:

在 XMPPFramework gitHub wiki 1 有一个分步说明,可帮助您为您的项目设置 XMPPFramework。

实际上你提到的错误与说明中的错误很接近。

"但是,在导入 XMPPFramework 类时,例如通过调用 '#import XMPP.h' 将导致 XCode 显示错误 'XMPP.h' not found。 XCode 似乎没有找到任何 XMPPFramework 文件。”

我希望这能为您提供足够的信息来解决您面临的这个问题,即使这些说明并非专门针对 iOS-5。

【讨论】:

【解决方案2】:

github 上的 wiki 已过时。这是我手动安装XMPPFramework 的方法。

第一步

XMPPFramework repository 克隆到您机器上的某个位置,然后将somewhere/XMPPFramework 中所需的文件夹拖到您的Xcode 项目中。

必要的文件夹是:

  • 供应商/CocoaAsyncSocket
  • 供应商/CocoaLumberjack
  • 供应商/KissXML
  • 供应商/libidn
  • 身份验证
  • 类别
  • 核心
  • 实用程序

您可能还需要Extensions,但它是可选的。

在将文件夹拖到 Xcode 时,选择与此图像完全相同的复选框/单选按钮很重要:

第 2 步

a) 将 Sample_XMPPFramework.h 拖到您的 Xcode 中,然后像第 1 步一样选择复选框/单选按钮

b) 将其重命名为XMPPFramework.h

c) 根据您的需要自定义XMPPFramework.h 的内容。 (我没有改变任何东西)

执行步骤 1 和 2 后,Xcode 项目导航器中的文件结构应如下所示:

第 3 步

链接以下框架和库

  • CFNetwork.framework
  • Security.framework
  • libxml2.dylib
  • libresolv.dylib
  • libidn.a

第四步

将这两行添加到Build Settings:

  • 其他链接器标志 = -lxml2
  • 标题搜索路径 = /usr/include/libxml2

完成这 4 个步骤后,您应该会很好。但是请注意,您通常需要先#import <UIKit/UIKit.h>,然后才能使用XMPPFramework

【讨论】:

  • 感谢这篇文章,帮了大忙。但我不得不说,整个过程让人感觉如此沮丧和脆弱。
  • Facebook 扩展显然不能在 iPhone 上运行(它无法编译,因为由于某种原因它没有找到其中一个项目中的依赖项之一)。我还没有设法找出问题所在,所以我只是删除了 Facebook 扩展程序。
  • 当我发布这个答案时,每个扩展都正常工作。可能是这个库新版本的新bug。
  • 由于框架中有很多coredata模型..我知道如何更新lib+model以及如何检查代码中使用的XMPPFramework的当前版本
  • 使用 #import "libxml/tree.h" 代替 libxmlSimu
【解决方案3】:

与@Brian 回答中的说明相关的其他信息。

第 3 步的补充:
如果“选择要添加的框架和库”窗口中没有 libxml2.dylib 等 lib 文件,请按照以下步骤查找:

  1. 点击Add Other...
  2. 在文件选择窗口中,COMMAND+SHIFT+G(转到文件夹)
  3. 键入/usr/lib,然后键入Enter 或单击Go
  4. 选择你需要的.dylib文件点击Open

第 4 步之后:
另请注意,XMPPFramework 及其依赖项使用 ARC。 如果您的应用主要使用 MRR 而不是 ARC,请将您的应用转换为 ARC 或执行第 5 步。

第 5 步

在 XMPPFramework 文件中添加 -fobjc-arc 编译器标志。

在 Xcode 中,对于每个将使用 XMPPFramework 的目标,

  • 转到目标设置
  • 转到Build Phases
  • 展开Compile Sources
  • 选择列表中所有与 XMPPFramework 相关的文件
  • Enter 打开编译器标志的编辑窗口
  • 输入-fobjc-arc
  • 再次Enter 以保存更改。

Compile Sources 列表未排序,因此使用搜索字段过滤XMPPXEP 上的列表会很有帮助。这会找到大部分文件,但仍有一些必须从完整的文件列表中挑选出来。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多