iOS SDK错误码

更新时间:2025-03-25 11:59:47

本文档详细说明了Push SDK可能出现的错误类型、错误码及其含义,并提供了相应的排查和解决建议,以帮助开发者快速定位和解决问题。

错误处理

  • 调用CloudPushSDK的相关接口时,如果发生错误,可以从CallbackHandler回调对象中获取错误码和错误描述等信息。

  • CallbackHandler定义如下:

    typedef void (^CallbackHandler)(CloudPushCallbackResult *res);
  • 回调处理对象res包含3个成员字段:

    • success(接口调用是否成功),BOOL类型;

    • data(调用成功后返回相关数据),id类型;

    • error(错误信息描述),NSError类型;

错误类型详解

适用于v3及以上版本

1. 参数相关错误(1XXXX)

错误码

错误描述

可能原因

解决方案

10001

无效的应用标识(AppKey)

AppKey为空或格式错误

请从EMAS控制台获取正确的AppKey

10002

无效的应用密钥(AppSecret)

AppSecret为空或格式错误

请从开发者控制台获取正确的AppSecret

10003

无效的账户

账户参数为空或格式错误

检查账户参数是否正确

10004

无效的别名

别名参数为空或格式错误

检查别名参数是否正确

10005

非法的标签格式

标签超过128字符或为空

确保标签不超过128字符且不为空

10006

无效的标签目标

标签目标值错误

确保目标值为1(设备)、2(账号)或3(别名)

10007

无效的角标数

角标数值超出范围

确保角标数在0~99999之间

10008

无效的设备令牌

DeviceToken为空或格式错误

检查DeviceToken是否正确获取

10009

无效的实时活动启动令牌

LiveActivityStartToken为空或格式错误

检查LiveActivityStartToken是否正确获取

10010

无效的实时活动推送令牌

LiveActivityPushToken为空或格式错误

检查LiveActivityPushToken是否正确获取

10011

无效的实时活动数据模型

LiveActivityAttributes名称错误或不存在

确保提供的是您在代码中定义的ActivityAttributes类名。例如:

// 如果您定义了如下Activity:
struct HelloAttributes: ActivityAttributes {
 public struct ContentState: Codable, Hashable {
 var emoji: String
 }
 var name: String
}
// 使用SDK时应传入 "HelloAttributes" 作为参数

10012

无效的实时活动状态

LiveActivityState格式错误

Live Activity只能处于以下4种状态之一:

  • active: 活动状态,正常显示和更新

  • ended: 已结束,由应用主动结束

  • dismissed: 已关闭,由用户手动移除

  • stale: 已过期,超过系统时限自动结束

10013

无效的实时活动ID

LiveActivityID格式错误

Live Activity ID是系统生成的唯一标识符,用于标识特定的Live Activity实例。你需要通过activity对象获取id属性。

2. 请求相关错误(2xxxx)

错误码

错误描述

可能原因

解决方案

20001

服务器错误

服务端处理异常

请根据下方服务器错误类型表进行处理,若不存在则联系技术支持。

错误类型(ServerError)

错误原因

er_param_app_package

应用的 Bundle ID 与 EMAS 控制台配置的不匹配

20002

网络连接错误

网络不可用或连接超时

检查网络连接是否正常

3. 设备相关错误(3xxxx)

错误码

错误描述

可能原因

解决方案

30001

设备初始化冲突

SDK重复初始化

检查初始化流程,避免重复调用

30002

无效的设备标识

设备ID获取失败

重新启动SDK并重试

30003

UTDID获取失败

设备唯一标识获取失败

请卸载重试或联系技术支持

30004

设备被列入黑名单

设备因异常行为被限制

联系技术支持解除限制

30005

设备UTDID冲突

设备唯一标识冲突

请卸载重试或联系技术支持

4. 未知错误(9xxxx)

错误码

错误描述

可能原因

解决方案

90001

内部错误

SDK内部未知异常

请重试或联系技术支持

错误信息结构

当发生错误时,SDK会返回包含以下信息的NSError对象:

  • domain: com.aliyun.emas.pushsdk.error

  • code: 具体的错误码

  • userInfo: 包含详细错误信息的字典

    • NSLocalizedDescription: 错误描述

    • NSLocalizedRecoverySuggestion: 恢复建议

    • ErrorType: 错误类型

    • ErrorReason: 错误原因(可选)

    • ParamValue: 导致错误的参数值(可选)

    • ParamExpectedFormat: 参数期望格式(可选)

    • ServerError: 服务器端错误码(可选)

    • Request: 错误的请求(可选)

    • Response: 错误的响应(可选)

    • 其他系统信息:

      • Timestamp: 错误发生时间

      • OSVersion: 系统版本

      • SdkState: SDK状态

      • SdkVersion: SDK版本

      • Utdid: 设备唯一标识

      • AppKey: 应用标识

技术支持

如果您在使用过程中遇到无法解决的问题,请联系我们的技术支持。

历史版本错误码定义

适用于v3以下版本

错误名称

错误码

错误描述

错误名称

错误码

错误描述

INIT_INVALID_APPKEY_CODE

1011

appKey配置错误。

INIT_INVALID_APPSECRET_CODE

1012

appSecret配置错误。

INIT_SESSION_FAILED_CODE

1013

session初始化失败。

INIT_AS_ERROR_CODE

1014

连接AS错误,检查网络连接。

INIT_SID_ERROR_CODE

1015

sid获取失败。

INIT_ALREADY_INITED_CODE

1017

SDK已经完成初始化,请勿重复调用。

TAG_INPUT_INVALID_CODE

2001

标签输入为空。

TAG_APPID_INVALID_CODE

2002

appId错误。

TAG_RPC_REQUEST_FAILED_CODE

2003

标签请求错误。

ACCOUNT_INVALID_ACCOUNT_CODE

3001

account参数输入错误。

ACCOUNT_CHANNEL_CLOSED_CODE

3002

推送通道关闭。

ACCOUNT_REQUEST_TIMEOUT_CODE

3003

绑定账号请求超时。

ACCOUNT_ENCODER_STATUS_ERROR_CODE

3004

绑定账号状态码错误。

ALIAS_INPUT_INVALID_CODE

4001

别名输入为空。

VIP_REQ_HTTP_ERROR_CODE

5001

VIP请求状态码错误。

VIP_REQ_CONNECTION_ERROR_CODE

5002

VIP请求连接错误。

VIP_REQ_SERVER_ERROR_CODE

5003

VIP请求服务错误。

VIP_REQ_GERNERATE_PARAM_ERROR_CODE

5004

VIP参数生成错误。

OTHER_ERROR_INVLIAD_PARA_CODE

6001

其他输入错误。

  • 本页导读 (0)
  • 错误处理
  • 错误类型详解
  • 1. 参数相关错误(1XXXX)
  • 2. 请求相关错误(2xxxx)
  • 3. 设备相关错误(3xxxx)
  • 4. 未知错误(9xxxx)
  • 错误信息结构
  • 技术支持
  • 历史版本错误码定义
AI助理

点击开启售前

在线咨询服务

你好,我是AI助理

可以解答问题、推荐解决方案等