跳转到正文

故障排除

GitHub

如果 App Store Connect 报告此错误:

ITMS-91056: Invalid privacy manifest - 来自以下路径的 PrivacyInfo.xcprivacy 文件无效: …

检查你的应用级 PrivacyInfo.xcprivacy 文件:

  • 文件必须是有效的 JSON。
  • 请仅使用 Apple 文档中列出的键和值。
  • 不要在插件包中添加 privacy manifest;请将其添加到你的应用中。

查看 隐私清单与 iOS URL 处理程序 查看示例。

向 Google Play 提交应用后,你可能会看到:

Google Api Error: Invalid request - This release includes the com.google.android.gms.permission.AD_ID permission
but your declaration on Play Console says your app doesn't use advertising ID.

Facebook SDK 包含 AD_ID 以及其他广告相关权限。如果你的应用未使用 Facebook Login,请禁用 Facebook provider,入口在 capacitor.config.ts:

import type { CapacitorConfig } from '@capacitor/cli';
const config: CapacitorConfig = {
plugins: {
SocialLogin: {
providers: {
google: true,
facebook: false,
apple: true,
},
},
},
};
export default config;

然后运行:

终端窗口
npx cap sync

该 plugin 使用 stub 类而非真实的 Facebook SDK,因此你的 build 不会包含 Facebook 依赖和权限。

GetCredentialCustomException: [28444] Developer console is not set up correctly 来自 Google Credential Manager,当已安装 APK 的签名证书、包名或 webClientId 与 Google Cloud Console 不匹配时。

请使用完整的 Android Google 故障排查清单。登录失败后,请在 Logcat 中过滤 GoogleProvider;插件会打印 package, signingSha1,以及一个脱敏后的 webClientId 以便与你的 OAuth 客户端对比。

标题为“使用 Family Link 受监督账号进行 Google Sign-In”的部分

Family Link 受监督账号可能会因以下原因失败:

NoCredentialException: No credentials available

对于需要支持 Family Link 账号的应用,请在 Google 登录调用中禁用已授权账号过滤:

import { SocialLogin } from '@capgo/capacitor-social-login';
await SocialLogin.login({
provider: 'google',
options: {
style: 'bottom',
filterByAuthorizedAccounts: false,
scopes: ['profile', 'email'],
},
});

关键点:

  • 设置 filterByAuthorizedAccounts 改为 false; 默认为 true.
  • 插件会自动使用以下方式重试: standard 样式,如果 bottom 样式失败,错误为 NoCredentialException.
  • 这些选项仅影响 Android。iOS 会正常处理 Family Link 账号。
  • 错误信息建议禁用 filterByAuthorizedAccounts 当检测到此失败时。

使用 @capgo/capacitor-persistent-account 当你的应用需要原生安全存储来保存 access 或 refresh token 时。

在 Android 上,数据存储在 Account Manager 中;在 iOS 上,数据存储在 Keychain 中。