跳到主要内容

iOS 检查规则

E1:ComboSDK.json 错误

问题描述

ComboSDK.json 的配置不符合预期。

影响范围

  • 未配置 ComboSDK.json 文件,Combo SDK 初始化将失败,Combo 所有功能将不可用。
  • 未及时更新 ComboSDK.json 文件(内容错误),版本预期新增/更改的特性/功能将不生效或异常。

解决方案

ComboSDK.json 是 Combo SDK 的核心配置文件,集中管理所有第三方服务密钥、功能开关和合规链接,实现快速集成和动态调整,避免代码层频繁修改。

  • 若未配置 ComboSDK.json 文件,请使用 Combo CLI setup 命令生成 ComboSDK.json 文件,并按照文档指示正确集成到项目中。
  • 若未及时更新 ComboSDK.json 文件,请重新使用 Combo CLI setup 命令生成该文件,并替换原有 ComboSDK.json 文件。

E2:包名错误

问题描述

游戏产物未使用发行版本中定义的包名(Bundle ID)。

影响范围

需要验证 Bundle ID 的功能不可用,例如内购、分享等功能。

解决方案

Bundle Identifier 是 iOS 应用的唯一身份标识,用于区分不同应用、控制权限和关联开发者服务(如推送通知、App Store 发布等)。请在项目 Xcode 工程中使用世游官方为游戏分配的包名(Bundle Identifier)以确保应用在安装、运行和分发时能被系统正确识别和管理。

参考链接
https://developer.apple.com/documentation/appstoreconnectapi/bundle-ids

E3:签名密钥错误

问题描述

游戏产物未使用世游提供的签名密钥对产物进行签名。

影响范围

签名密钥错误表示游戏产物未使用世游提供的 .mobileprovision 文件进行签名,同时包名(Bundle Identifier)也是错误的,内购、分享等功能会异常。

解决方案

证书和签名密钥是 Apple 安全体系的核心组成部分,用于确保应用来源可信、保护用户隐私和开发者权益。请安装世游提供的 .p12 证书后,在 Xcode 中使用世游提供的 .mobileprovision 文件对项目进行签名。若还未获取相关文件,请联系世游技术团队。

E4:缺少相机权限 NSCameraUsageDescription

问题描述

Info.plist 文件中缺少相机权限 NSCameraUsageDescription

影响范围

联系客服进行拍照时应用会崩溃。

解决方案

NSCameraUsageDescription 是 iOS 系统中用于请求访问相机权限的隐私描述字段,属于 iOS 隐私权限控制的一部分。当应用需要使用设备的相机(如拍照、扫码、视频通话、AR 功能等)时,必须在 Info.plist 中声明此字段并提供说明文本,向用户解释应用为何需要此权限。若未提供描述,提交至 App Store 时会导致审核被拒。世游通行证联系客服进行拍照时,会使用设备相机,因此请在 Xcode Info.plist 文件中添加 NSCameraUsageDescription 键与请求相机权限的描述(例如:"需要访问您的相机以拍摄照片或视频")。

参考链接

https://developer.apple.com/documentation/bundleresources/information-property-list/nscamerausagedescription
https://developer.apple.com/documentation/bundleresources/managing-your-app-s-information-property-list?language=objc

E5:缺少麦克风权限 NSMicrophoneUsageDescription

问题描述

Info.plist 文件中缺少麦克风权限 NSMicrophoneUsageDescription

影响范围

联系客服进行录屏时应用会崩溃。

解决方案

NSMicrophoneUsageDescription 是 iOS 系统中用于请求访问麦克风权限的隐私描述字段,属于 iOS 隐私权限控制的一部分。当应用需要使用设备的麦克风(如语音通话、音频录制、语音识别等)时,必须在 Info.plist 中声明此字段并提供说明文本,向用户解释应用为何需要此权限。若未提供描述,提交至 App Store 时会导致审核被拒。世游通行证联系客服进行录屏时,将会使用设备麦克风,因此请在 Xcode Info.plist 文件中添加 NSMicrophoneUsageDescription 键与请求麦克风权限的描述(例如:"需要使用麦克风进行语音输入或音频录制")。

参考链接

https://developer.apple.com/documentation/BundleResources/Information-Property-List/NSMicrophoneUsageDescription
https://developer.apple.com/documentation/bundleresources/managing-your-app-s-information-property-list?language=objc

E6:缺少相册权限 NSPhotoLibraryUsageDescription

问题描述

Info.plist 文件中缺少相册权限 NSPhotoLibraryUsageDescription

影响范围

当游戏集成了 Domain douyin_open,进行抖音分享时应用会崩溃。

解决方案

NSPhotoLibraryUsageDescription 是 iOS 系统中用于请求访问用户相册权限的隐私描述字段,属于 iOS 隐私权限控制的一部分。当应用需要读取或写入用户的照片库时(如上传图片、保存文件等),必须在 Info.plist 中添加此字段并附上说明文本,向用户解释应用为何需要此权限。若未提供描述,提交至 App Store 时可能导致审核被拒。当游戏需要分享游戏内容至抖音平台时,将会访问设备相册,因此请在 Xcode Info.plist 文件中添加 NSPhotoLibraryUsageDescription 键与请求相册权限的说明文本(例如:"需要访问您的相册以选择图片")。

参考链接

https://developer.apple.com/documentation/BundleResources/Information-Property-List/NSPhotoLibraryUsageDescription
https://developer.apple.com/documentation/bundleresources/managing-your-app-s-information-property-list?language=objc

E7:缺少设备追踪权限 NSUserTrackingUsageDescription

问题描述

Info.plist 文件中缺少设备追踪权限 NSUserTrackingUsageDescription

影响范围

Info.plist 中若没添加 NSUserTrackingUsageDescription 键值对,若游戏集成了以下 Domain,SDK 初始化时应用会崩溃。

  • douyin
  • topon
  • trackingio

解决方案

NSUserTrackingUsageDescription 是 iOS 14 及更高版本中引入的隐私权限请求,用于请求用户授权应用跟踪其跨应用和网站的 activity(即广告标识符 IDFA 的访问权限)。当第三方 SDK 请求该权限时,必须在 Info.plist 中添加此字段并附上说明文本,向用户解释应用为何需要此权限。若未提供描述,提交至 App Store 时会导致审核被拒。当游戏需要进行投放归因时,巨量融合归因 SDK、TopOn SDK 及热云 TrackingIO SDK 将请求设备广告标识符 IDFA,因此请在 Xcode Info.plist 文件中添加 NSUserTrackingUsageDescription 键与请求追踪权限的说明文本(例如:"需要获取您的设备标识以提供个性化广告")。

参考链接

https://developer.apple.com/documentation/bundleresources/information-property-list/nsusertrackingusagedescription?language=objc
https://www.appsflyer-gcr.cn/glossary/idfa/
https://developer.apple.com/documentation/bundleresources/managing-your-app-s-information-property-list?language=objc

E8:LSApplicationQueriesSchemes 缺少 weixin

问题描述

Info.plist 文件中 LSApplicationQueriesSchemes 缺少 weixin

影响范围

使用短链接跳转微信小程序时将跳转应用失败。

解决方案

LSApplicationQueriesSchemes 是 Info.plist 中的一个配置项,用于声明应用需要检测或跳转的其他应用的 URL Scheme。跳转微信小程序是 Combo SDK 的基础功能之一,因此配置 weixin Scheme 是必要的。请在 Xcode Info.plist 文件 LSApplicationQueriesSchemes 中添加 weixin

参考链接

https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/LaunchServicesKeys.html#//apple_ref/doc/uid/TP40009250-SW14
https://developer.apple.com/documentation/bundleresources/managing-your-app-s-information-property-list?language=objc

E9:LSApplicationQueriesSchemes 缺少微信相关参数

问题描述

Info.plist 文件中 LSApplicationQueriesSchemes 缺少微信相关参数。

影响范围

若游戏集成了 Domain weixin,在进行微信平台分享时将跳转应用失败。

解决方案

LSApplicationQueriesSchemes 是 Info.plist 中用于声明应用需要检测或跳转的其他应用 URL Scheme 的配置项。当游戏将游戏内容分享至微信时,需要与微信分享 SDK 进行交互,配置微信相关 Scheme 是必要的。请在 Info.plist 中添加以下 Value:

  • weixin
  • weixinULAPI
  • weixinURLParamsAPI

参考链接

https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/LaunchServicesKeys.html#//apple_ref/doc/uid/TP40009250-SW14
https://developer.apple.com/documentation/bundleresources/managing-your-app-s-information-property-list?language=objc
https://developers.weixin.qq.com/doc/oplatform/Mobile_App/Share_and_Favorites/Share_and_Favorites.html

E10:LSApplicationQueriesSchemes 缺少抖音相关参数

问题描述

Info.plist 文件中 LSApplicationQueriesSchemes 缺少抖音相关参数。

影响范围

若游戏集成了 Domain douyin_open,在进行抖音平台分享时将跳转应用失败。

解决方案

LSApplicationQueriesSchemes 是 Info.plist 中的一个配置项,用于声明应用需要检测或跳转的其他应用的 URL Scheme。当游戏需要将游戏内容分享至抖音时,需要与抖音开放平台分享 SDK 交互,配置抖音相关 Scheme 是必要的。请在 Info.plist 文件中添加以下值:

  • douyinliteopensdk
  • douyinsharesdk
  • snssdk1128
  • douyinopensdk

参考链接

https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/LaunchServicesKeys.html#//apple_ref/doc/uid/TP40009250-SW14
https://developer.apple.com/documentation/bundleresources/managing-your-app-s-information-property-list?language=objc
https://developer.open-douyin.com/docs/resource/zh-CN/dop/ability/content-management/share-and-publish-to-douyin

E11:LSApplicationQueriesSchemes 缺少 xhsdiscover

问题描述

Info.plist 文件中 LSApplicationQueriesSchemes 缺少 xhsdiscover

影响范围

若游戏集成了 Domain agora,在进行小红书平台分享时将跳转应用失败。

解决方案

LSApplicationQueriesSchemes 是 Info.plist 中的一个配置项,用于声明应用需要检测或跳转的其他应用的 URL Scheme。当游戏需要将游戏内容分享至小红书时,需要与小红书分享 SDK 交互,配置 xhsdiscover 是必要的。请在 Info.plist 文件中添加 xhsdiscover

参考链接

https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/LaunchServicesKeys.html#//apple_ref/doc/uid/TP40009250-SW14
https://developer.apple.com/documentation/bundleresources/managing-your-app-s-information-property-list?language=objc
https://agora.xiaohongshu.com/doc/ability

E12:LSApplicationQueriesSchemes 缺少微博相关参数

问题描述
Info.plist 文件中 LSApplicationQueriesSchemes 缺少微博相关参数。

影响范围
若游戏集成了 Domain weibo,在进行微博平台分享时将跳转应用失败。

解决方案
LSApplicationQueriesSchemes 是 Info.plist 中的一个配置项,用于声明应用需要检测或跳转的其他应用的 URL Scheme。当游戏需要将游戏内容分享至微博时,需要与微博分享 SDK 交互,配置微博相关 Scheme 是必须的。请在 Info.plist 中添加以下值:

  • sinaweibo
  • weibosdk
  • weibosdk2.5
  • weibosdk3.3

参考链接
https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/LaunchServicesKeys.html#//apple_ref/doc/uid/TP40009250-SW14
https://developer.apple.com/documentation/bundleresources/managing-your-app-s-information-property-list?language=objc

E13:LSApplicationQueriesSchemes 缺少 QQ 参数

问题描述

Info.plist 文件中 LSApplicationQueriesSchemes 缺少 QQ 相关参数。

影响范围

若游戏集成了 Domain qq,在进行 QQ 平台分享时将跳转应用失败。

解决方案

LSApplicationQueriesSchemes 是 Info.plist 中的一个配置项,用于声明应用需要检测或跳转的其他应用的 URL Scheme。当游戏需要将游戏内容分享至 QQ 时,需要与 QQ 分享 SDK 交互,需配置 QQ 相关 Scheme。请在 Info.plist 文件中添加以下 Value:

  • mqq
  • mqqapi
  • tim
  • mqqopensdknopasteboard
  • mqqopensdknopasteboardios16
  • mqqopensdkapiV2
  • mqzone
  • mqqOpensdkSSoLogin

参考链接

https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/LaunchServicesKeys.html#//apple_ref/doc/uid/TP40009250-SW14
https://developer.apple.com/documentation/bundleresources/managing-your-app-s-information-property-list?language=objc
https://wiki.connect.qq.com/

E14:缺少 Associated Domains Entitlement

问题描述
游戏产物未配置 Associated Domains Capability。

影响范围
分享时跳转第三方社交平台后无法再跳转回游戏应用,从外部跳转游戏应用时将跳转到网页而非 App。

解决方案
Associated Domains Entitlement 是 iOS/macOS 开发中的一项权限配置,允许 App 与特定网站建立安全关联,支持 Universal Links。如果缺失,请在 Xcode → Signing & Capabilities 中添加 Associated Domains,并正确配置 applinks(值可联系世游技术团队获取)。

参考链接
https://developer.apple.com/documentation/bundleresources/entitlements/com.apple.developer.associated-domains
https://developer.apple.com/documentation/xcode/supporting-associated-domains#Add-the-associated-domains-entitlement-to-your-app

E15:缺少 Sign in with Apple Entitlement

问题描述
游戏产物未配置 Sign in with Apple Capability。

影响范围
游戏集成了 Domain sign_in_with_apple,但在通行证登录页面点击苹果登录按钮无响应。

解决方案
Sign in with Apple Entitlement 是苹果强制要求的授权项之一,当应用集成 Apple ID 登录时必须添加。在 Xcode → Signing & Capabilities 中添加 “Sign in with Apple” 功能。

参考链接
https://developer.apple.com/documentation/bundleresources/entitlements/com.apple.developer.applesignin?language=objc
https://developer.apple.com/documentation/xcode/configuring-sign-in-with-apple

E16:缺少 APS Environment Entitlement

问题描述

游戏产物未配置 Push Notifications Capability。

影响范围

当游戏集成了 Domain push,推送功能无法正常工作。

解决方案

APS Environment Entitlement 是 Apple 推送通知服务(APNs)的关键配置项。它在 .entitlements 文件中声明推送使用的环境(开发/生产)。请在 Xcode → Signing & Capabilities 中添加 “Push Notifications” 功能。

参考链接

https://developer.apple.com/documentation/bundleresources/entitlements/aps-environment?language=objc