本项目的所有值得注意的更改都将记录在此文件中。
white-web-sdk 至 2.16.51WhiteSDK.prepareWhiteConnectionForAppId 方法用于提前选择线路以加快首次连接速度white-web-sdk 至 2.16.50@netless/app-slide 至 0.2.56window-manager 至 0.4.69WhiteWindowParams.overwriteStyles,用于窗口样式覆盖@netless/app-slide 至 0.2.55@netless/slide-rtc-plugin 至 1.3.1@netless/app-slide 至 0.2.53@netless/slide-rtc-plugin 至 1.3.0window-manager 至 0.4.68WhiteWindowParams.polling 参数window-manager 至 0.4.66@netless/app-slide 至 0.2.51, 修复淡入淡出动画闪烁@netless/app-slide 至 0.2.49, 新增 ppt 事件埋点white-web-sdk 至 2.16.48window-manager 至 0.4.65,修复SDK内置光标在修改 isWritable 后消失的问题WKWebView 中的所有 console 日志打印到 WhiteCommonCallbacks.logger: 回调中。如果需要打印此类信息,请在初始化 SDK 的时候传入 config.loggerOptions 中设置 @"printLevelMask": WhiteSDKLoggerOptionLevelDebugAVAudioSessionRouteChangeNotification 通知可能不在主线程回调时引起的 Crash@netless/app-slide 至 0.2.46, 修复路径动画跳页后无法恢复到原位问题, 修复菱形填充会充满图形问题window-manager 至 0.4.64, 修复重连后 SDK 内置光标消失的问题RtcAudioEffectClient 添加 logWhiteSDK 初始化的时候传入 WhiteAudioEffectMixerBridgeDelegate 对象。并且在收到 PlayEffect 回调的时候将内容回传给 WhiteSDK.effectMixer。目前监听的回调为 setEffectSoundId:stateChanged: / setEffectDurationUpdate:duration: / setEffectFinished:Whiteboard/Whiteboard-YYKit 替换为 Whiteboard。由于 YYModel 不再支持 Xcode 15 集成,已将 YYModel 代码 Fork 到 White_YYModelfullscreen 参数在某些情况下会有短暂的闪烁问题@netless/app-slide 至 0.2.46window-manager 至 0.4.62。AppDocsViewer 支持抓手工具@netless/app-slide 至 0.2.44。修复渐变色引起的调用栈溢出@netless/app-slide 至 0.2.43WhiteSlideAppParams.maxResolutionLevel, 取值范围变更为 0-4WhiteMemberState.pencilEraserSize, 用于更改局部橡皮擦尺寸,取之范围 1-3WhiteSlideAppParams.minFPS, WhiteSlideAppParams.maxFPS, 用于控制 PPT 动画帧率WhiteSlideAppParams.resolution, WhiteSlideAppParams.maxResolutionLevel, 用于控制 PPT 渲染分辨率WhiteSlideAppOptions.bgColor, WhiteSlideAppOptions.forceCanvas, 用于控制 PPT 渲染WhiteMemberState.textColor, 独立 Text 教具颜色SlideAppOptions.enableGlobalClick, 用于控制是否可以通过点击 ppt 画面执行下一步功能, 默认开启WhiteRoom.updateText, 用于更新调用 WhiteRoom.insertText 插入的文本@netless/app-slide 至 0.2.42white-web-sdk 至 2.16.44WhiteWindowParams.fullscreen 参数在第二次打开 app 没有最大化的错误WhiteRoom 新增 focusApp:, queryAllAppsWithCompletionHandler: 和 queryApp: 方法用于在多窗口模式下查询 app 和切换 app 焦点。@netless/app-slide 至 0.2.41@netless/app-slide 至 0.2.40WhiteRoom 新增 dispatchDocsEvent, 用于控制多窗口下文档的切换WhiteWindowParams 新增 fullscreen, 用于控制窗口是否全屏WhiteRegionEU ,废弃 WhiteRegionGB@netless/app-slide 至 0.2.38white-web-sdk 至 2.16.42WhiteSdkConfiguration 新增 apiHosts 配置项, 用于配置白板的 API 服务器域名列表RoomParams 新增 modulesOrigin, PlayerConfiguration 新增 modulesOrigin 配置项。用于配置白板请求 modules 数据的地址@netless/app-slide 至 0.2.36@netless/app-slide 至 0.2.34WhiteSdkConfiguration 新增 enableSlideInterrupterAPI 参数。WhiteSDK 新增 setSlideDelegate: 方法。现在可以通过设置 WhiteSdkConfiguration.enableSlideInterrupterAPI 为 YES 和调用 WhiteSDK.setSlideDelegate: 设置回调对象完成 Slide Url 的拦截替换功能。WhiteSdkConfiguration 新增 whiteSlideAppParams 配置项用于 SlideAppwhiteSlideAppParams.showRenderError,用于配置显示/隐藏渲染错误提示@netless/app-slide 至 0.2.33@netless/app-slide 至 0.2.32WhiteSDK 新增 getSlideVolumeWithCompletionHandler 和 updateSlideVolume 方法用于获取和更新 ppt 内音频音量@netless/app-slide 至 0.2.31@netless/app-slide 至 0.2.30@netless/app-slide 至 0.2.29@netless/slide-rtc-plugin 至 0.10.1@netless/app-slide 至 0.2.27@netless/slide-rtc-plugin 至 0.9.3@netless/app-slide 至 0.2.25@netless/slide-rtc-plugin 至 0.8.7@netless/app-slide 至 0.2.24@netless/window-manager至 0.4.54@netless/app-slide 至 0.2.23white-web-sdk 至 2.16.37@netless/slide-rtc-plugin 至 0.8.4@netless/app-slide 至 0.2.22@netless/slide-rtc-plugin 至 0.7.9@netless/window-manager至 0.4.46@netless/app-slide 至 0.2.17WhiteDisplayer 新增 getLocalSnapShotWithCompletion 方法获取当前屏幕截图drawOnlyPencil 在用户没有写权限的时候,可能产生的一些错误日志。@netless/app-slide 至 0.2.16@netless/slide-rtc-plugin 至 0.7.5Whiteboard.podspec@netless/app-slide 至 0.2.13WhiteSDK 新增 requestSlideLogToFilePath: 方法,可以通过调用该方法来将 Slide 产生的日志写入到指定文件。@netless/window-manager至 0.4.44@netless/app-slide 至 0.2.12white-web-sdk 至 2.16.35WhiteRoomConfig 新增 floatBar 参数, 开启后可以在选中同一类物体的时候启用浮动条。WhiteApplianceNameKey 新增 AppliancePencilEraser 类型, 可以用来局部擦除 NewPencil 画出的笔记。WhiteBroadcastState 初始化错误。white-web-sdk 至 2.16.34@netless/app-slide 至 0.2.8@netless/window-manager至 0.4.42drawOnlyPencil 功能可能导致的 crash@netless/window-manager至 0.4.40WritableDetectRoom, 完善房间非可写时操作判断white-web-sdk 至 2.16.33@netless/window-manager至 0.4.38@netless/app-slide 至 0.2.7@netless/slide-rtc-plugin 至 0.6.1WhiteAudioMixerBridgeDelegate 新增 pauseAudioMixing 和 resumeAudioMixing 回调, 使用方法为在回调中调起 RTC 对应的混音方法white-web-sdk 至 2.16.31。修复 room.setMemberState() 某些字段无法保存到本地问题。@netless/app-slide 至0.2.3@netless/window-manager至 0.4.37。navigationDelegate 需要去掉设置才能开启该优化。WhiteCommonCallbackDelegate 新增 startRecoveringFromMemoryIssues 和 endRecoveringFromMemoryIssues 回调,Web Crash 并且恢复的时候有事件通知。 多次恢复之后如果仍然 crash, WhiteCommonCallbackDelegate 会通过 throwError: 抛出一个 code 为 -500 的错误synced-store 至 2.0.3white-web-sdk 至 2.16.27room.memberState.dottedLine 为 YES 开启该功能。该功能需要开启新铅笔后才能使用room.memberState.textCanSelectText 为 YES 开启该功能white-web-sdk 至2.16.26SyncedStore 模块,用于存储和更新自定义业务状态数据drawOnlyPencil 功能在单窗口模式下切换到 Clicker 并且不恢复的错误@netless/window-manager至 0.4.35writable 进行切换的时候 mainView 的 disableCameraTransform 丢失@netless/window-manager至 0.4.33white-web-sdk 至 2.16.25SyncPlayer 支持,可以用于同步播放多段视频与白板播放器@netless/window-manager至 0.4.30WhiteRoom新增removePage方法,用于删除主白板画布WhiteReplayer的 seeking 回调@netless/window-manager至 0.4.26iframe-bridge至 2.1.9sceneState发生变化时没有触发WhiteRoomCallbackDelegate的fireRoomStateChanged的错误white-web-sdk 至 2.16.24@netless/app-slide 至 0.2.1Room.sceneState 不回调问题@netless/window-manager至 0.4.25WhiteRoomConfig.drawOnlyApplePencil和WhiteRoom.setDrawOnlyApplePencilWhiteRoom新增setPrefersColorScheme方法,用于更改多窗口暗色模式。WhiteRoom新增setContainerSizeRatio方法,用于更新多窗口显示比例。WhiteCombinePlayer支持单白板或者单Native播放。white-web-sdk至 2.16.20white-web-sdk至 2.16.19@netless/window-manager至 0.4.23@netless/app-slide至 0.1.3@netless/window-manager至 0.4.21white-web-sdk至2.16.15WhiteDisplayer中新增getSceneFromScenePath:方法WhiteSdkConfiguration中新增disableNewPencilStroke参数,默认为NO,设置为YES后可以禁止新铅笔工具展示笔锋dsbridge为NTLbridge。2.16.14及以下版本的用户升级到2.16.15以上时,如果遇到关于dsbridge的报错,请先尝试重新运行一遍pod install,删除所有缓存之后再重新编译。@netless/window-manager至 0.4.20@netless/app-slide至 0.1.1iframe-bridge至 2.1.8@netless/window-manager至 0.4.18@netless/window-manager至 0.4.17@netless/app-slide至0.1.0@netless/window-manager至 0.4.15WhiteRoom新增closeApp方法WhiteSDK新增registerAppWithParams方法,可以通过该方法注册自定义App。详见README@netless/window-manager至 0.4.14@netless/window-manager至 0.4.13viewMode 无法从 freedom 切换回 broadcaster 问题window-manager至0.4.11WhiteRoom新增WhitePageState属性,开启多窗口之后,主白板的页面数状态需要在该属性中读取。window-manager至0.4.9Whiteboard/fpasubspec。在 podfile 添加 pod 'Whiteboard/fpa' 依赖,并且配置 WhiteRoomConfig 的 nativeWebSocket 为 YES 即可进行加速。window-manager至0.4.7WhiteConverterV5, 用于查询文件转码进度WhiteRoom新增addPage, prevPage 和 nextPage方法white-web-sdk至2.16.10undoSteps和redoSteps的回调错误white-web-sdk至2.16.9window-manager至0.4.5@netless/window-manager至 0.4.1white-web-sdk至2.16.7WhiteRoom调用日志逻辑。开关跟随WhiteSdkConfiguration中的 log 参数(默认关闭),上报等级为 info,上报配置跟随loggerOptions配置项。WhiteSdkConfiguration开启 useMultiViews 参数。WhiteRoom新增insertText方法,可以通过该方法在指定位置插入文字。Redo和Undo不生效的问题。@netless/iframe-bridge至 2.1.9@netless/window-manager至 0.3.27@netless/window-manager至 0.3.26@netless/window-manager至 0.3.25@netless/app-slide至 0.0.56white-web-sdk至2.15.17@netless/window-manager至 0.3.23white-web-sdk至2.15.16@netless/video-js-plugin 至 0.3.8@netless/window-manager至 0.3.19white-web-sdk至 2.15.15WhiteRoomState类windowBoxState属性。WhiteRoomConfig配置类中WhiteWindowParams的prefersColorScheme属性。@netless/app-slide至 0.0.53@netless/window-manager至 0.3.17@netless/window-manager至 0.3.16@netless/app-slide至 0.0.52@netless/window-manager至 0.3.14@netless/app-slide至 0.0.51@netless/window-manager至 0.3.11@netless/app-slide至 0.0.50white-web-sdk至 2.15.13@netless/app-slide至 0.0.46@netless/window-manager至 0.3.12@netless/app-slide至 0.0.44@netless/app-slide至 0.0.43,优化动态 PPT 显示效果@netless/window-manager至 0.3.11@netless/app-slide至 0.0.42@netless/app-slide至 0.0.39@netless/window-manager至 0.3.9@netless/app-slide至 0.0.36white-web-sdk至 2.15.11@netless/window-manager至 0.3.8@netless/app-slide至 0.0.35white-web-sdk至 2.15.7@netless/window-manager至 0.3.7white-web-sdk至 2.15.6@netless/window-manager至 0.3.5@netless/app-slide至 0.0.27white-web-sdk至 2.15.6@netless/window-manager至 0.3.2@netless/app-slide至 0.0.25white-web-sdk至 2.15.4@netless/window-manager至 0.2.19@netless/app-slide至 0.0.22useMultiViews 为 YES 时,cameraState 状态回调white-web-sdk至 2.15.3@netless/window-manager至 0.2.17white-web-sdk至 2.15.1- (instancetype)initWithUUID:(NSString *)uuid roomToken:(NSString *)roomToken uid:(NSString *)uid userPayload:(id _Nullable)userPayload和- (instancetype)initWithUUID:(NSString *)uuid roomToken:(NSString *)roomToken uid:(NSString *)uid,移除旧的初始化 API。- (void)joinRoomWithUuid:(NSString *)uuid roomToken:(NSString *)roomToken completionHandler:(void (^)(BOOL success, WhiteRoom * _Nullable room, NSError * _Nullable error))completionHandler;- (void)joinRoomWithRoomUuid:(NSString *)roomUuid roomToken:(NSString *)roomToken callbacks:(nullable id<WhiteRoomCallbackDelegate>)callbacks completionHandler:(void (^) (BOOL success, WhiteRoom * _Nullable room, NSError * _Nullable error))completionHandler;white-web-sdk至 2.14.7@netless/window-manager至 0.2.9,修复WhiteSdkConfiguration中useMultiViews为 YES,writable 为 NO,userCursor 为 YES 进入一个没有多窗口内容的房间后,再切换回 writable 为 YES 时,无法绘制的问题。@netless/window-manager至 0.2.8,修复WhiteSdkConfiguration中useMultiViews为 YES 时,以 writable 为 NO 进入一个没有多窗口内容的房间时,出现报错,或者无回调的问题。white-web-sdk至 2.14.5white-web-sdk至 2.14.4@netless/window-manager至 0.2.5,修复WhiteSdkConfiguration中useMultiViews为 YES 时,WhiteRoomConfig的 disableCameraTransform YES 无法生效的问题。white-web-sdk至 2.14.4white-web-sdk至 2.14.3,支持多窗口模式。具体见 WhiteSdkConfiguration 类中的useMultiViews 以及WhiteRoomConfig的windowParams 属性注释,多窗口暂时不支持回放。white-web-sdk至 2.13.20white-web-sdk至 2.13.18white-web-sdk至 2.13.17allowUniversalAccessFromFileURLs功能,该功能关闭后,会影响本地截图功能,无法渲染不带跨域头的图片。white-web-sdk至 2.13.16white-web-sdk至 2.13.14WhiteCommonCallbackDelegate新增日志输出接口- (void)logger:(NSDictionary *)dict。具体见 API 注释white-web-sdk至 2.13.12white-web-sdk至 2.13.11@netless/video-js-plugin至 0.3.3WhiteboardView的backgroundColor属性,修复设置颜色后,加入房间颜色重置,修复颜色闪烁问题。@netless/video-js-plugin至 0.3.2@netless/video-js-plugin至 0.3.0@netless/video-js-plugin至 0.3.0.beta.10@netless/video-js-plugin至 0.2.1white-web-sdk至 2.13.10。修复 2.13.x 版本中,第一笔无法正常绘制的问题@netless/video-js-plugin至 0.2.0white-web-sdk至 2.13.9。主要优化 ppt 前端展示逻辑,优化书写性能,以及时间戳同步功能。WhiteboardView的backgroundColor属性,现在修改 WhiteboardView 颜色,可以直接使用修改backgroundColor,弃用WhiteDisplayer中backgroundColor方法。white-web-sdk至 2.13.6white-web-sdk至 2.13.4white-web-sdk至 2.13.3white-web-sdk至 2.13.2white-web-sdk至 2.12.23@netless/cursor-tool至 0.1.0@netless/iframe-bridge至 2.1.2white-web-sdk至 2.12.21@netless/video-js-plugin至 0.1.5@netless/video-js-plugin不显示问题@netless/video-js-plugin至 0.1.3, 修复低版本WebView兼容问题@netless/cursor-tool至 0.0.9white-web-sdk至 2.12.20@netless/video-js-plugin插件支持white-web-sdk至 2.12.18clicker教具,用以提供给 h5 课件操作交互white-web-sdk至 2.12.18WhitePptParams的useServerWrap属性注释。syncBlockTimestampAPI,详情见room.syncBlockTimestamp方法ApplianceShape教具,详情见WhiteApplianceShapeTypeKey,WhiteMemberState的shapeType属性white-web-sdk至 2.12.17RegionKey 字段@netless/white-audio-plugin2,@netless/white-video-plugin2插件,修复显示问题@netless/white-audio-plugin 至 1.2.23,修复回放时,音频文件显示问题。@netless/white-audio-plugin2,@netless/white-video-plugin2插件同步支持,需要在 web 端,调用 insertPlugin 时,注册对应的 audio2,video2 。white-web-sdk至 2.12.14white-web-sdk至 2.12.13,优化动态 ppt@netless/iframe-bridge至 2.0.17,优化回放时 iframe 插件逻辑@netless/iframe-bridge至 2.0.16,优化回放时 iframe 插件逻辑white-web-sdk至 2.12.12@netless/iframe-bridge至 2.0.14,优化 iframe 插件@netless/iframe-bridge至 2.0.13,优化 h5 课件消息队列@netless/iframe-bridge至 2.0.11,修复 h5 课件显示问题white-web-sdk至 2.12.9@netless/iframe-bridge至 2.0.9,修复 h5 课件显示问题@netless/iframe-bridge至 2.0.8,修复 h5 课件显示问题white-web-sdk至 2.12.8,修复 follower 视角可能无法立即同步的问题white-web-sdk至 2.12.7,优化动态 ppt 显示@netless/iframe-bridge至 2.0.7white-web-sdk至 2.12.6@netless/iframe-bridge至 2.0.5,优化回放时,H5 课件展示scaleIframeToFitAPI,可以将 H5 课件进行铺满操作(类似scalePptToFit),详情见Displayer.h注释@netless/cursor-tool至 0.0.7WhiteRoomConfig中的disableNewPencil属性。white-web-sdk至 2.12.4,优化 ppt 显示逻辑WhiteSdkConfiguration新增enableImgErrorCallback参数,开启图片加载失败事件的监听,该监听,会回调CommonCallbackDelegate中新增的customMessage方法。事件内容格式,见customMessage中注释。WhiteboardView大小变化时,自动调用refreshViewSize功能@netless/iframe-bridge至1.1.2white-web-sdk至 2.12.2@netless/white-audio-plugin@1.2.20,@netless/white-video-plugin@1.2.20,优化音视频插件@netless/iframe-bridge至2.1.1white-web-sdk至 2.11.12,优化 ppt 显示逻辑@netless/white-audio-plugin@1.2.19,@netless/white-video-plugin@1.2.18,优化音视频插件进度同步@netless/white-audio-plugin@1.2.17,@netless/white-video-plugin@1.2.16,优化音视频插件进度同步white-web-sdk至 2.11.11,优化 ppt 中音视频处理white-web-sdk至 2.11.10,兼容部分低版本 ppt 音视频播放white-web-sdk至 2.11.9WhiteDisplayerState新增cameraState属性,WhiteRoomState与WhitePlayerState均可使用,具体请看WhiteCameraState类注释white-web-sdk至 2.11.8WhiteSdkConfiguration的loggerOptions参数@netless/iframe-bridge至 1.0.6@netless/iframe-bridge至 1.0.5@netless/iframe-bridge至 1.0.4@netless/combine-player,@netless/iframe-bridge插件loadFontFaces:completionHandler:无法添加多个不同字重的字体的问题WhiteDisplayer中postIframeMessage:方法。iframe的通知,userInfo 会带有iframe的完整格式。setupFontFaces: loadFontFaces:completionHandler:,设置本地教具字体 API updateTextFont:。具体使用,可以查看对应 API 代码注释,以及 Example 工程中WhiteBaseViewController的insertFontFace示例代码@netless/combine-player,优化插件逻辑WhiteSdkConfiguration,RoomParams,PlayerConfiguration中setRegionAPI。@netless/combine-player接管,该组件优化了音视频中有丢帧情况的播放处理。
@netless/combine-player 无法正确处理,在初始化时,立刻进行 seek 的行为。@netless/combine-player 会主动 seek 触发缓冲,无需再次手动操作。@netless/iframe-bridge)插入的 iframe 插件,类似音视频插件,native 无需进行修改,只需要更新至 2.10.0 版本即可WhiteRoomCallbackDelegate协议@netless/cursor-tool即可保持一致,新组件支持cursorName,avatar字段。room.phase属性不正确,必须使用异步 API 获取的问题sdkSetupFail回调检测错误的问题WhiteCommonCallbackDelegate代理中新增的sdkSetupFail:方法中;更多具体内容,见源码注释。
WhiteCommonCallbackDelegate代理中pptMediaPlay:``pptMediaPause:方法及其注释WhiteContentModeConfig中scale为 0 时,实际为 1 的问题抓手``激光笔教(见WhiteApplianceNameKey)disableEraseImage属性,支持中途切换(见Room disableEraseImage:API)撤销,取消撤销(开启该功能前,请先阅读disableSerialization:介绍)复制,粘贴,副本,删除 API,可以对选中的内容,执行上述操作(见WhiteRoom 执行操作 API 部分)disableOperations,新增disableCameraTransform API,与disableDeviceInputs搭配,可以起到同样效果。svg模式,兼容低版本设备。Canvas,svg为兼容模式。WhiteMemberState新增直线``箭头教具。WhitePlayerConfig``audioUrl属性更改为mediaURL,效果不变。WhiteSdkConfiguration:
zoomMinScale,zoomMaxScale属性。限制视野需求,请阅读WhiteRoomConfig,WhiterPlayerConfig以及WhiteCameraBound相关类和 API。sdkStrategyConfig属性。debug属性更改为log属性,效果不变。WhiteOriginPrefetcher,SDK 采用更智能的链路选择,WhiteOriginPrefetcher类的预热结果对 SDK 不再有效果。WhiteCameraBound增加初始化方法,方便从zoomMinScale``zoomMaxScale迁移的用户。WhiteImageInformation类,预埋locked字段。预热器数据造成的 sdk 连接失败问题。2.8.0 开始,不再需要预热功能。isWritable=NO用户无法跟随新主播的问题WhitePptParams类,以及WhiteSdkConfiguration pptParams属性说明,注意:拦截自定义协议需要使用 iOS 11 API)getEntireScenes: 方法)兼容性问题:该版本目前有一定兼容问题,接入自定义音视频插件系统的用户,可以升级(2020 年开始接入的用户,均为该版本);未接入音视频插件的用户请勿升级。如不清楚版本,可以询问服务团队。
getScenePathTypeAPI(见 WhiteDisplayer getScenePathType:result:方法)step失效的问题throwError回调丢失信息的问题step属性)timeout属性)writable只读模式(详情见 WhiteRoomConfigwritable属性,以及 WhiteRoom setWritable:completionHandler:方法)
disableOperations:描述为禁止操作APIplaybackSpeed 属性,以及 CombinePlayer playbackSpeed 属性)图片替换 API 暂时失效,将在下一版本中恢复支持CombinePlayerrefreshViewSize失效的问题NativeReplayer模块,支持在回放白板内容的同时,同步使用系统AVPlayer播放视频。迁移:将
import <White-SDK-iOS/WhiteSDK.h>更改为import <Whiteboard/Whiteboard.h>即可。
White-SDK-iOS 版本记录与之前版本 API 兼容,但是无法与低版本互连,进入同一房间。
可以与 Android 2.0.0 正式版,web 2.0.0 正式版互连,无法与 Android 2.0.0-beta 以及 web 2.0.0-beta 开头的版本互连。
可以回放 2.0.0 开始的房间,但是无法进入 2.1.0 之前的房间。
2019.06.24 前接入的客户,在升级至该版本时,请联系 SDK 团队,确认服务器指向版本。
大版本更新,与过去版本API存在部分不兼容。无法与 1.0 版本进行互联。