版权声明:本文为博主原创文章,未经博主允许不得转载。
1.UserProfileManager
做为整个项目中管理用户entity的类,它封装了很多实用方法,我们可以采用原来的大部分内容,但是要把原demo中Parse相关部分注释掉,自己来完成数据从远程的读取和存储,以及如何存储在本地;
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
users数组存在周期为整个APP运行时段,所以可以作为数据缓存,app退出后就释放了,当然你可以在
- 1
- 2
- 3
- 1
- 2
- 3
方法里写存储到本地数据库的逻辑(FMDB)
这里我来示例一下:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
上面的常量字符串我定义成了宏方法
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
1.1 UserProfileEntity
在UserProfileManager里面声明了这个类,你可以自定义用户实体的属性如:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
看自己的要求了。总之各种与用户数据相关的逻辑都可以写在这个类里;
2.ChatDemoHelper - 重要
这个类在整个环信项目中是最非常重要的,里面实现了大量的回调逻辑,比如收到消息,收到好友请求,收到静默消息(cmd消息),发送语音邀请等等;如果你想在接收到这些操作的同时相应事件,就得在这里写;(你可以换个符合你项目的名字 例如:TestHelper )
点开.m文件,方法名很易懂:
各种逻辑它都写好了,你可以仿写;
3.AppDelegate+EaseMob
用于处理SDK注册设置等相关逻辑,你只需要按他的来就行了;
4.出现:CopyPNGFile 异常错误
出现这种情况项目还是能够编译运行的
大部分原因是因为你项目中存在了多个这样的文件,删除,只留一个就行了;如果只有一个,那就是格式问题了
5.Decoder_Interface_init()崩溃错误
在环信UI3.0中,使用了音频转码
opencore-amrnb
opencore-amrwb
如果出现这个问题,一般是你独立集成一个环信测试demo,运行正常,但是当你集成到你公司项目中时,就崩溃了,这是静态库冲突的问题,我自己也没解决,如果静态库中同用了一个“工具”,但是是不同版本,那就会导致。
6.Library Search Path 的设置问题
如果对这方面比较熟悉,这段就用看了;
我们需要导入SDK和视频解码的静态库,一般来说Xcode会帮我们自动设置静态库的路径,但是如果出现:ld: library not found for xxxxx 的问题,那就是静态库路径错误了
我们找到静态库文件直接拖入:
拖入到$(inherited)的下方:
这里可以去掉引号,这样只导入了一个静态库,如果该文件下有多个静态库文件,你只需要导入该文件的路径就行了;
此外路径右边的 non-recursive 表示不检查这个文件下子目录所包含的静态库
如果设置为recursive,你直接写上工程总目录,静态库能够自动全部导入的;
7.便捷的显示方式[self showHint:@”提示信息”]
在环信中,使用了MBProgressHUD工具,其中方便快捷的显示提示框的方式来自分类:
使用者可以使用这种快捷方式,很方便,当然,这些我们也可以自己写某个工具类里面调用这些方法
有问题可以提问,我正愁没东西写,因为想不到