集成Stripe React Native后iOS提交TestFlight遇ITMS-90683错误求助
解决Expo集成Stripe时iOS TestFlight提交的ITMS-90683错误
ITMS-90683错误是因为你的App用到了iOS隐私权限,但未在Info.plist中添加对应的用途说明。Stripe React Native的支付相关功能(比如扫描银行卡、选择相册内的银行卡照片)需要用到相机和相册权限,所以得在app.json里补上这两个权限的描述。
两种有效配置方式
方式1:直接在infoPlist中声明
把以下配置加到app.json的expo.ios节点下:
{ "expo": { // 其他现有配置... "ios": { "infoPlist": { "NSCameraUsageDescription": "需要访问相机扫描银行卡,快速完成支付", "NSPhotoLibraryUsageDescription": "需要访问相册选择银行卡照片,便捷完成支付" } } } }
方式2:通过Stripe插件配置
如果你的app.json已经用plugins配置Stripe,直接在插件参数里加权限描述:
{ "expo": { // 其他现有配置... "plugins": [ [ "@stripe/stripe-react-native", { "cameraPermission": "需要访问相机扫描银行卡,快速完成支付", "photoLibraryPermission": "需要访问相册选择银行卡照片,便捷完成支付" } ] ] } }
后续操作
保存修改后,重新运行构建命令:
eas build -p ios --auto-submit
如果之前的构建缓存导致配置不生效,加上--clear-cache参数清除缓存再构建:
eas build -p ios --auto-submit --clear-cache
注意:权限描述要真实合理,别写套话,App Store审核会检查描述和实际功能是否匹配。就算你没打算用扫卡功能,Stripe SDK默认可能依赖这些权限,建议还是加上避免审核卡壳。
内容的提问来源于stack exchange,提问作者David Henry
相关产品推荐
相关产品推荐

