关于如何手动安装XMPPFramework的最新说明?
我在XMPPFramework上工作的时候非常困难。 我遵循networking上写的每一个方向,XCode没有find我的任何XMPPFramework类。
XMPPStream之前的预期说明符限定符列表XMPP.h:没有这样的文件或目录XMPPRoster.h:没有这样的文件或目录
我有XMPPFramework复制到我的项目的根目录。 为什么不能看到这些文件? 在“标题searchpath”或“库searchpath”下是否需要执行某些操作?
我已经设置这些条目$(inheritance)和$(SRCROOT)和XCode 4.2自动填充我的项目的根目录,仍然没有find我的文件。
我相当肯定,我不是唯一有这个问题的人,而且是一个不争的事实。 有任何想法吗?
在XMPPFramework gitHub wiki 1中,有一个一步一步的指导,可以帮助为您的项目设置XMPPFramework。
事实上,你所提到的错误接近于指示中所指出的错误。
“但是,在导入一个XMPPFramework类的时候,例如调用'#import XMPP.h'会导致XCode显示错误'XMPP.h'not found。看来XCode没有find任何的XMPPFramework文件。
我希望这给你足够的信息来解决你正面临的问题,即使这些说明不是专门针对iOS-5的。
github上的wiki已经过时了。 这是我如何手动安装XMPPFramework
。
步骤1
将XMPPFramework存储库克隆到您计算机上的某个位置,并将所需的文件夹拖到Xcode项目的somewhere/XMPPFramework
中。
必要的文件夹是:
- 供应商/ CocoaAsyncSocket
- 供应商/ CocoaLumberjack
- 供应商/ KissXML
- 供应商/的libidn
- authentication
- 分类
- 核心
- 公用事业
您可能还需要Extensions
,但它是可选的。
将文件夹拖到Xcode时,select与此图像完全一样的checkbox/单选button非常重要:
第2步
a)将Sample_XMPPFramework.h
您的Xcode中,并selectcheckbox/单选button,如第1步
b)将其重命名为XMPPFramework.h
c)根据您的需要定制XMPPFramework.h
的内容。 (我没有改变任何东西)
在执行步骤1和步骤2之后,Xcode项目导航器中的文件结构应如下所示:
第3步
链接下面的框架和库
- CFNetwork.framework
- Security.framework
- libxml2.dylib
- libresolv.dylib
- libidn.a
步骤4
将这两行添加到“ Build Settings
:
- 其他链接器标志= -lxml2
- HEADER SEARCH PATHS = / usr / include / libxml2
经过这4个步骤,你应该很好。 但是请注意,在使用XMPPFramework
之前,通常需要#import <UIKit/UIKit.h>
有关@ Brian的答案中的说明的其他信息。
除步骤3:
如果一个lib文件如libxml2.dylib在“select要添加的框架和库”窗口中不可用,请按照下列步骤查找:
- 点击
Add Other...
- 在文件select窗口中,
COMMAND+SHIFT+G
(进入文件夹) - 键入
/usr/lib
,然后Enter
或单击Go
- select您需要的.dylib文件,然后单击
Open
第四步之后:
另请注意,XMPPFramework及其依赖关系使用ARC。 如果您的应用程序主要使用MRR而不是ARC,请将您的应用程序转换为ARC或执行步骤5。
第5步
将-fobjc-arc
编译器标志添加到XMPPFramework文件。
在Xcode中,对于每个将使用XMPPFramework的目标,
- 转到目标的设置
- 去
Build Phases
- 展开
Compile Sources
- select列表中所有与XMPPFramework相关的文件
- 按
Enter
打开编译器标志的编辑窗口 - 键入
-fobjc-arc
- 再次
Enter
以保存更改。
“ Compile Sources
列表是未sorting的,因此使用search字段筛选XMPP
上的列表以及XEP
上的列表会很有帮助。 发现大部分文件,但仍然有一些必须从文件的完整列表中挑选出来。
- 检查两个NSOperationQueue是否完成调用endBackgroundTask来停止后台任务模式
- Swift — 4 —核心数据—第5部分核心数据迁移
- Swift – 如何使用AlamofireImage / ImageShack节省内存?
- 如何在iPhone应用程序内的MKMapView中显示和连接多个位置与注释的路线?
- 如何使用FMDB保存并检索图像(字节)到SQLite(blob)?
- 使用MVVM和RxSwift构建您的第一个应用程序
- 如何为iOS构buildPoDoFo库
- NSUbiquityIdentityDidChangeNotification和SIGKILL
- 如何使用iOS中的自定义URLscheme从后台打开另一个应用程序