b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

iOSSDK体系架构(8)

电脑杂谈  发布时间:2019-09-03 14:04:30  来源:网络整理

5、通过以下属性获得选择的消息数据

//RCConversationViewController
/*!
 已经选择的所有消息
 @discussion 只有在 allowsMessageCellSelection 为 YES,才会有有效值
 */
@property(nonatomic, strong, readonly) NSArray<RCMessageModel *> *selectedMessages;

6、关于导航左右按钮既然想要自定义,可以重写会话页面上面步骤,可以参考Demo里面这个步骤的重写

//RCConversationViewController
/*!
 更新导航栏返回按钮中显示的未读消息数
 @discussion 如果您重写此方法,需要注意调用 super。
 */
- (void)notifyUpdateUnreadMessageCount;

7、参考官方SealTalk开源项目的会话页面RCDChatViewController,搜“消息多选功能”,看相关多选功能代码

根据关键字搜索会话列表信息

/*!
 根据关键字搜索会话
 @param conversationTypeList 需要搜索的会话类型列表
 @param objectNameList       需要搜索的消息类型名列表(即每个消息类方法getObjectName的返回值)
 @param keyword              关键字
 @return 匹配的会话搜索结果列表
 @discussion 目前,SDK内置的文本消息、文件消息、图文消息支持搜索。
 自定义的消息必须要实现RCMessageContent的getSearchableWords接口才能进行搜索。
 */
- (NSArray<RCSearchConversationResult *> *)searchConversations:(NSArray<NSNumber *> *)conversationTypeList
                                                   messageType:(NSArray<NSString *> *)objectNameList
                                                       keyword:(NSString *)keyword;

按照关键字搜索选定会话中的消息内容

/*!
 根据关键字搜索指定会话中的消息
 @param conversationType 会话类型
 @param targetId         会话ID
 @param keyword          关键字
 @param count            最大的查询数量
 @param startTime        查询记录的起始时间(传 0 表示不限时间)
 @return 匹配的消息列表
 */
- (NSArray<RCMessage *> *)searchMessages:(RCConversationType)conversationType
                                targetId:(NSString *)targetId
                                 keyword:(NSString *)keyword
                                   count:(int)count
                               startTime:(long long)startTime;

融云SDK默认将照片、文件消息上传默认的文件服务器,如果必须使用自己的服务器,那么可以采取以下的方案:

1、调用RCIMClient的接口

- (RCMessage *)sendMediaMessage:(RCConversationType)conversationType
                       targetId:(NSString *)targetId
                        content:(RCMessageContent *)content
                    pushContent:(NSString *)pushContent
                       pushData:(NSString *)pushData
                  uploadPrepare:(void (^)(RCUploadMediaStatusListener *uploadListener))uploadPrepareBlock
                       progress:(void (^)(int progress, long messageId))progressBlock
                        success:(void (^)(long messageId))successBlock
                          error:(void (^)(RCErrorCode errorCode, long messageId))errorBlock
                         cancel:(void (^)(long))cancelBlock

在uploadPrepareBlock中写代码上传您的照片、文件到您的服务器,uploadListener具体的实现可以参考以下代码,具体推动是按照上传的进度与过程给uploadListener的相关block赋值;可以在progressBlock中按照progress的值来升级UI。

2、调用RCConversationViewController的接口

- (void)sendMediaMessage:(RCMessageContent *)messageContent
             pushContent:(NSString *)pushContent
               appUpload:(BOOL)appUpload;

同时还要实现以下的接口

- (void)uploadMedia:(RCMessage *)message
     uploadListener:(RCUploadMediaStatusListener *)uploadListener;

在该方式中给上传到您服务器的代码,并升级uploadListener中相关block的状态

可以参考以下代码:

RCImageMessage *imgMsg = [RCImageMessage messageWithImage:image];
[self sendMediaMessage:imgMsg pushContent:nil appUpload:YES];
- (void)uploadMedia:(RCMessage *)message
     uploadListener:(RCUploadMediaStatusListener *)uploadListener {
    dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{   
         //这里是模仿图片、文件上传的过程
        BOOL isSuccess = NO;
        int i = 0;
        for (i = 0; i < 100; i++) {
            uploadListener.updateBlock(i);
            [NSThread sleepForTimeInterval:0.2];
            isSuccess = YES;
        }
        if(isSuccess){//如果上传成功
            uploadListener.successBlock(@"http://www.rongcloud.cn/images/bannerInner.png");
        }else {//如果上传失败
            uploadListener.errorBlock(-1);
        }
    });
}

从SDK2.9.21版本开始支持单聊消息便捷回复功能,默认为关闭状况,目前可借助工单方法办理开通,开通后按下列方法集成即可使用。

会话图标直接添加如下代码就能:

[self.chatSessionInputBarControl setCommonPhrasesList:@[@"你好", @"不错", @"是这样", @"没问题", @"谢谢"]];

注意事项:

从SDK2.9.21版本开始支持发送GIF图片消息,默认可选取发送的GIF图片大小为2M,接收于高于1M的消息时自动下载显示,大于1M时必须自动点击下载,可通过以上代码修改手动下载大小限制。

/**
 GIF 消息自动下载的大小 size, 单位 KB
 */
@property(nonatomic, assign) NSInteger GIFMsgAutoDownloadSize;

为满足用户发送个人名片的用途需求,融云推动了个人名片的开源软件,开发者可下载软件直接集成使用。

GitHub项目:plugin-contactcard-ios

融云提供了集成科大讯飞语音功能转文本发送消息的开源工程软件,开发者可下载软件直接集成使用:

GitHub项目:plugin-ifly-ext-ios

一、如果您使用的是不带红包的2.8.2及以下版本的SDK请参考下面修改:

App中的Info.plist文件可参考下面修改(研发者可按照自身业务状况微调修改):

image

假如使用2.8.2版本之前的SDK,请参考2.8.2版本之前ATS设置。

其中:

rongcloud-image.ronghub.com(可选)

rongcloud-image.ronghub.com是照片下载的HTTP域名。

1.1、如果您的App没有收发图片的功能,可以不减少这个白名单。

1.2、在开发者后台Aey页面打开HTTPS,您可以选取以HTTPS的方法上传下载截图。需要留意的是,SDK2.6.0之前的版本不支持下载HTTPS图片。您可以在2.6.0以下版本存量到达必定程度以后,在开发者后台迁移HTTPS,之后就不再应该增加这个白名单。

rongcloud-file.ronghub.com(可选)

rongcloud-file.ronghub.com是文件下载的HTTP域名。

2.1、如果您的App没有收发文件的用途,可以不减少这个白名单。

2.2、在开发者后台Aey页面打开HTTPS,您可以选取以HTTPS的方法上传下载文件。需要留意的是,SDK2.6.0之前的版本不支持下载HTTPS文件。您可以在2.6.0以下版本存量到达必定程度以后,在开发者后台迁移HTTPS,之后就不再应该增加这个白名单。

nav.cn.ronghub.com(可选)

nav.cn.ronghub.com是连接服务的HTTP域名。

nav.cn.ronghub.com连接服务支持并优先使用HTTPS,但是考虑到中国网络环境的复杂性和那些特殊状况,加上了这个白名单,在HTTPS失败的状况下SDK会下降HTTP以确保连接,增强连接的稳定性。

然后NSExceptionDomains在提交审核的之后,会触发苹果的审核review,App可以考量App的使用画面和自己的ATS策略,自行决定能否提高这个白名单。

public.rongcloud.cn(可选)

public.rongcloud.cn是公众帐号服务的HTTP域名。

public.rongcloud.cn目前只支持HTTP,如果开发中应该使用公众账号服务,那么应该添加白名单,如果没有公众账号服务这么可以忽略。

NSAllowsArbitraryLoadsInWebContent和NSAllowsArbitraryLoads(可选)

SDK默认优先使用SFSafariViewController打开URL链接,App审核的之后不应该额外说明。

您也可以借助修改RCIM的embeddedWebViewPreferred属性,设置默认使用WebView打开URL链接,但是您必须在Info.plist中添加NSAllowsArbitraryLoadsInWebContent和NSAllowsArbitraryLoads,并在App审核的之后提交额外的表明。

NSAllowsArbitraryLoadsInWebContent是为了用WebView可以开启任意HTTP链接,该参数只在iOS10以上的平台生效。

NSAllowsArbitraryLoads是为了在iOS9上用WebView可以开启任意HTTP链接,在iOS10上,如果设置了NSAllowsArbitraryLoadsInWebContent,会默认忽略NSAllowsArbitraryLoads。

// RCIM Class
#pragma mark - 网页展示模式
/*!
 点击Cell中的URL时,优先使用WebView还是SFSafariViewController打开。
 @discussion 默认为NO。
 如果设置为YES,将使用WebView打开URL链接,则您需要在App的Info.plist的NSAppTransportSecurity中增加NSAllowsArbitraryLoadsInWebContent和NSAllowsArbitraryLoads字段,并在苹果审核的时候提供额外的说明。
 如果设置为NO,将优先使用SFSafariViewController,在iOS 8及之前的系统中使用WebView,在审核的时候不需要提供额外说明。
 更多内容可以参考:https://developer.apple.com/library/content/documentation/General/Reference/InfoPlistKeyReference/Articles/CocoaKeys.html#//apple_ref/doc/uid/TP40009251-SW55
 */
@property(nonatomic, assign) BOOL embeddedWebViewPreferred;

二、如果您使用的是带红包功能的SDK:

红包SDK从2.8.5版本开始支持HTTPS,如果您使用的是2.8.2至2.8.4版本的红包SDK,那么请参考红包SDK的ATS设置。

Bitcode

iOS9中,Apple引入了新特点Bitcode,用于优化版本编译提交。因为对于Bitcode,静态库的编译应该调整,所以SDK的版本有所差别。如果您使用Xcode6.X版本,您可以使用2.3.0或2.3.0以上版本的SDK;如果您使用Xcode7.X版本,您可以使用SDK2.3.1或者2.3.1以上版本的SDK。

集成融云SDK过程中,如碰到难题可查看。


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/bofangqi/article-121563-8.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    热点图片
    拼命载入中...