Habber - IOS XMPP 客户端 教程 (一)准备工作
2015-12-23 10:58
302 查看
一些准备
Swifty这是JamalK做的一款swift语言的登录页,程序是用OC写的,通过实践说明swift和OC兼容的很好~
https://github.com/JamalK/Swifty
TSPopoverView
像iPad那样弹出的popover气泡式菜单。由于iPhone默认弹出popover是页面替换而不是气泡式
https://github.com/takashisite/TSPopover
原来的样子:
我们把它当作状态选择的菜单来做,做出来的效果:
UUChatTableView
这是一个封装好的聊天窗口,提供了文字NSString,图片UIImage和语音NSData的接口, 所以我们只需要对其界面进行轻微修改,并使其与我们xmpp得到与发送数据接口实现对接。
最重要的XMPPFramework,在用Xcode7.1.1的时候我在Github上下载到的最新框架编译起来有些问题,看到上面issue反馈的时候别人用老版本的框架用CocoaPods整合直接使用,我就是通过这种方法使用的。(什么是CocoaPods?请参考http://code4app.com/article/cocoapods-install-usage)
Start!
导入框架
首先建立我们的项目,就用Single View Application。建立好之后,我们就可以用CocoaPods来整合XMPPFramework了。
/article/11143933.html
我想做到这里成功的话你已经导入了XMPPFramework框架了,无论你是编译通过了,还是通过cocoapods导入,看上去应该是这样了
成功的话你就可以在Habber里面导入头文件了
#import <XMPP.h>
如果是通过cocoapods导入的话,记得要把两个projects的Architectures改成一致,不然真机调试的话可能不能通过。
Habber -> build settings -> Architectures
Pods -> build settings -> Architectures
导入TSPopover, UUChatTableView
我所导入的libraries:
添加pch支持(如果不知道怎么添加pch请看: Xcode7 建立 pch 文件 (预编译头文件))
#ifndef PrefixHeader_pch #define PrefixHeader_pch #import <UIKit/UIKit.h> #import <Foundation/Foundation.h> #import "ACMacros.h" #endif
导入swifty
或许这里我不应该称为导入,我们需要在storyboard中重画这个界面,当然这里的重画意思是把UIImageView,UITextField等几个空间粘贴在storyboard中新画的UIViewController当中。
但注意不要整个viewController都粘贴过来, 因为这个界面是作者一年前写的,用的Xcode版本比较老, storyboard已经更新了,所以他的旧版本的viewController粘贴过来会导致形变。 你可以自己运行demo查看一下。 我已经给他posted an issue,他说会更新的,也许你下到的会是他更新过的版本。^_^
界面在storyboard中重构完成后,就可以把他的swift类文件直接拖到我们的目录中了,拖的过程中Xcode会问你导入swift进入OC工程要不要建立桥接文件,这里OK建立一个就是了。
关于OC和Swift混合编程我参考的这篇文章,应该算是直接从苹果的帮助文档翻译过来的,简单易懂:在项目里交叉使用Swift和OC
初步的准备工作已经完成,我们的目录看起来是这样的:
(当然这是我的目录,你可以参考下)
下一篇就开始上代码!
相关文章推荐
- Ios 生成 Ipa 的命令行
- iOS 中 的nil、Nil、 NULL 和 NSNull
- iOS,沙盒,做数据持久化的时候,有时候需要查看沙盒路径
- iOS 中几种定时器 - 控制了时间,就控制了一切(转)
- iOS 中KVC、KVO、NSNotification、delegate 总结及区别
- iOS APNS 极光推送 点击通知栏跳转应用相应页面
- iOS 图片加载方式
- iOS开发趋势:Native与H5+JS 解决方案
- ios 利用runtime 机制 交换系统内部方法的实现
- iOS蓝牙Service定义对照表
- AutoLayout 和 autoresizing
- iOS 无线部署
- 部分密文显示身份证号及姓名等iOS
- Ios 真机调试
- iOS使用Workspace来管理多项目
- 关于iOS开发中使用到的AES加密和SHA256加密的使用
- iOS学习之 播放gif动画
- IOS版添加phonegap-视频播放插件教程
- BIOS启动报警声全集
- iOS 导航栏遮挡问题 --- iOS开发系列 ---项目中成长的知识七