iOS 检查规则
E1:ComboSDK.json 错误
问题描述
ComboSDK.json 的配置不符合预期。
影响范围
- 未配置 ComboSDK.json 文件,Combo SDK 初始化将失败,Combo 所有功能将不可用。
- 未及时更新 ComboSDK.json 文件(内容错误),版本预期新增/更改的特性/功能将不生效或异常。
解决方案
ComboSDK.json
是 Combo SDK 的核心配置文件,集中管理所有第三方服务密钥、功能开关和合规链接,实现快速集成和动态调整,避免代码层频繁修改。
- 若未配置
ComboSDK.json
文件,请使用 Combo CLIsetup
命令生成ComboSDK.json
文件,并按照文档指示正确集成到项目中。 - 若未及时更新
ComboSDK.json
文件,请重新使用 Combo CLIsetup
命令生成该文件,并替换原有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