# WhiteCommonCallbackDelegate Protocol Reference (/zh-CN/api-reference/whiteboard/whiteboard-sdk/ios/protocols/white-common-callback-delegate)

> For AI agents: see the complete documentation index at [llms.txt](/llms.txt).

Whiteboard iOS SDK 2.16.147 公开接口。

@protocol WhiteCommonCallbackDelegate &lt;NSObject&gt;

## 成员 [#成员]

- [throwError:](/zh-CN/api-reference/whiteboard/whiteboard-sdk/ios/protocols/white-common-callback-delegate#//api/name/throwError:)
- [urlInterrupter:](/zh-CN/api-reference/whiteboard/whiteboard-sdk/ios/protocols/white-common-callback-delegate#//api/name/urlInterrupter:)
- [pptMediaPlay](/zh-CN/api-reference/whiteboard/whiteboard-sdk/ios/protocols/white-common-callback-delegate#//api/name/pptMediaPlay)
- [pptMediaPause](/zh-CN/api-reference/whiteboard/whiteboard-sdk/ios/protocols/white-common-callback-delegate#//api/name/pptMediaPause)
- [sdkSetupFail:](/zh-CN/api-reference/whiteboard/whiteboard-sdk/ios/protocols/white-common-callback-delegate#//api/name/sdkSetupFail:)
- [customMessage:](/zh-CN/api-reference/whiteboard/whiteboard-sdk/ios/protocols/white-common-callback-delegate#//api/name/customMessage:)
- [onBackgroundImageLoad:](/zh-CN/api-reference/whiteboard/whiteboard-sdk/ios/protocols/white-common-callback-delegate#//api/name/onBackgroundImageLoad:)
- [onApplianceInitLoadingChange:](/zh-CN/api-reference/whiteboard/whiteboard-sdk/ios/protocols/white-common-callback-delegate#//api/name/onApplianceInitLoadingChange:)
- [logger:](/zh-CN/api-reference/whiteboard/whiteboard-sdk/ios/protocols/white-common-callback-delegate#//api/name/logger:)
- [localLogStateChange:](/zh-CN/api-reference/whiteboard/whiteboard-sdk/ios/protocols/white-common-callback-delegate#//api/name/localLogStateChange:)
- [startRecoveringFromMemoryIssues](/zh-CN/api-reference/whiteboard/whiteboard-sdk/ios/protocols/white-common-callback-delegate#//api/name/startRecoveringFromMemoryIssues)
- [endRecoveringFromMemoryIssues:](/zh-CN/api-reference/whiteboard/whiteboard-sdk/ios/protocols/white-common-callback-delegate#//api/name/endRecoveringFromMemoryIssues:)

<a id="//api/name/throwError:"></a>


<a id="tasks"></a>

### `– throwError:` [#-throwerror]

<ApiSignature>

\- (void)throwError:(NSError *)error;

</ApiSignature>

```text
SDK 出现未捕获的全局错误回调。

 @param error 错误信息。
```

Declared in Displayer/WhiteCommonCallbacks.h

<a id="//api/name/urlInterrupter:"></a>

### `– urlInterrupter:` [#-urlinterrupter]

<ApiSignature>

\- (NSString *)urlInterrupter:(NSString *)url;

</ApiSignature>

```text
图片拦截回调。

*Note:**

 - 要触发该回调，必须在初始化白板 SDK 时，设置 `enableInterrupterAPI(YES)` 开启图片拦截替换功能。详见 [WhiteSdkConfiguration](/zh-CN/api-reference/whiteboard/whiteboard-sdk/ios/classes/white-sdk-configuration)。
 - 开启图片拦截替换功能后，在白板中插入图片或场景时，会触发该回调。
 @param url 图片原地址。
 @return 替换后的图片地址。
```

Declared in Displayer/WhiteCommonCallbacks.h

<a id="//api/name/pptMediaPlay"></a>

### `– pptMediaPlay` [#-pptmediaplay]

<ApiSignature>

\- (void)pptMediaPlay;

</ApiSignature>

```text
播放动态 PPT 中的音视频回调。
```

Declared in Displayer/WhiteCommonCallbacks.h

<a id="//api/name/pptMediaPause"></a>

### `– pptMediaPause` [#-pptmediapause]

<ApiSignature>

\- (void)pptMediaPause;

</ApiSignature>

```text
暂停播放动态 PPT 中的音视频回调。
```

Declared in Displayer/WhiteCommonCallbacks.h

<a id="//api/name/sdkSetupFail:"></a>

### `– sdkSetupFail:` [#-sdksetupfail]

<ApiSignature>

\- (void)sdkSetupFail:(NSError *)error;

</ApiSignature>

```text
SDK 初始化失败回调。

  @since 2.9.13

  如果 SDK 初始化失败，调用加入实时房间或回放房间时会处于一直无响应状态，需要重新初始化 SDK。

  SDK 初始化失败可能由以下原因导致：

  - 初始化 SDK 时候，网络异常，导致获取配置信息失败。
  - 传入了不合法的 App Identifier。

  @param error 错误信息。
```

Declared in Displayer/WhiteCommonCallbacks.h

<a id="//api/name/customMessage:"></a>

### `– customMessage:` [#-custommessage]

<ApiSignature>

\- (void)customMessage:(NSDictionary *)dict;

</ApiSignature>

```text
接收到网页发送的消息回调。

 消息回调包括：

 - 字典格式的 iframe 数据
 - 图片加载失败信息
 - ppt 播放/暂停回调信息

 当本地用户收到了网页（如 iframe 插件、动态 PPT）发送的消息时会触发该回调。

 @param dict 字典格式的消息。只有当消息为字典格式时，本地用户才能收到。
```

Declared in Displayer/WhiteCommonCallbacks.h

<a id="//api/name/onBackgroundImageLoad:"></a>

### `– onBackgroundImageLoad:` [#-onbackgroundimageload]

<ApiSignature>

\- (void)onBackgroundImageLoad:(WhiteBackgroundImageLoadEvent *)event;

</ApiSignature>

```text
可见背景图片加载状态回调。
```

Declared in Displayer/WhiteCommonCallbacks.h

<a id="//api/name/onApplianceInitLoadingChange:"></a>

### `– onApplianceInitLoadingChange:` [#-onapplianceinitloadingchange]

<ApiSignature>

\- (void)onApplianceInitLoadingChange:(WhiteApplianceInitLoadingChangeEvent *)event;

</ApiSignature>

```text
Appliance 插件初始化进度回调。
```

Declared in Displayer/WhiteCommonCallbacks.h

<a id="//api/name/logger:"></a>

### `– logger:` [#-logger]

<ApiSignature>

\- (void)logger:(NSDictionary *)dict;

</ApiSignature>

```text
@param dict
目前有两种日志:
1. SDK 的调用日志，{funName: string, params: id} funName 为对应 API 的名称
2. WebView 的 Console 日志， {[WhiteWKConsole]: string}，该日志只有在设置 `loggerOptions.printLevelMask` 为 `WhiteSDKLoggerOptionLevelDebug` 时才会打印
```

Declared in Displayer/WhiteCommonCallbacks.h

<a id="//api/name/localLogStateChange:"></a>

### `– localLogStateChange:` [#-locallogstatechange]

<ApiSignature>

\- (void)localLogStateChange:(NSDictionary *)state;

</ApiSignature>

```text
WebView 内本地日志状态变化回调。

 @param state 本地日志运行状态。
```

Declared in Displayer/WhiteCommonCallbacks.h

<a id="//api/name/startRecoveringFromMemoryIssues"></a>

### `– startRecoveringFromMemoryIssues` [#-startrecoveringfrommemoryissues]

<ApiSignature>

\- (void)startRecoveringFromMemoryIssues;

</ApiSignature>

```text
发生了内存不足问题，SDK 即将开始恢复白板
 目前只有实时房间有可能触发该回调
 该回调最多会触发三次

 超过三次
```

Declared in Displayer/WhiteCommonCallbacks.h

<a id="//api/name/endRecoveringFromMemoryIssues:"></a>

### `– endRecoveringFromMemoryIssues:` [#-endrecoveringfrommemoryissues]

<ApiSignature>

-(void)endRecoveringFromMemoryIssues:(BOOL)success;

</ApiSignature>

```text
发生了内存不足问题，SDK 结束了一次恢复白板。
 如果恢复失败，sdk 不会主动继续重连。

 @param success 本次恢复是否成功
```

Declared in Displayer/WhiteCommonCallbacks.h
