Dav*_*ojo 21 app-store ios react-native
我有一个使用React Native的应用程序.我一直在正确上传到应用程序商店,但今天该应用程序被拒绝,并显示以下消息:
缺少Info.plist密钥 - 此应用程序尝试在没有使用说明的情况下访问隐私敏感数据.应用程序的Info.plist必须包含一个NSLocationAlwaysUsageDescription键,其中包含一个字符串值,向用户解释应用程序如何使用此数据.
缺少Info.plist密钥 - 此应用程序尝试在没有使用说明的情况下访问隐私敏感数据.应用程序的Info.plist必须包含一个NSLocationWhenInUseUsageDescription键,其中包含一个字符串值,向用户解释应用程序如何使用此数据.
我的应用程序不使用任何类型的位置服务.由于发布到应用程序商店的最新版本都没有更新,因此npm包没有更改,它们是相同的版本.
所以我不明白为什么Apple说我试图访问用户位置.
这是Apple Store的变化?如何查看我的应用尝试访问用户位置的位置?
这是我的packages.json
"dependencies": {
"axios": "^0.17.1",
"lodash": "^4.17.4",
"moment": "^2.18.1",
"react": "^16.0.0",
"react-addons-shallow-compare": "^15.5.2",
"react-native": "0.53.0",
"react-native-drawer": "^2.3.0",
"react-native-elements": "^0.19.0",
"react-native-fetch-blob": "^0.10.5",
"react-native-fs": "^2.3.3",
"react-native-linear-gradient": "^2.0.0",
"react-native-onesignal": "^3.0.7",
"react-native-orientation": "^3.0.0",
"react-native-pdf": "^3.0.0",
"react-native-progress": "^3.4.0",
"react-native-render-html": "^3.8.1",
"react-native-router-flux": "^4.0.0-beta.28",
"react-native-vector-icons": "^4.1.1",
"react-native-video": "^2.0.0",
"react-native-video-controls": "^2.0.0",
"react-redux": "^5.0.4",
"redux": "^3.6.0",
"redux-thunk": "^2.2.0"
}
Run Code Online (Sandbox Code Playgroud)
谢谢.
小智 18
Apple扫描您的二进制文件,查找对此处所述与隐私相关的API的任何调用。
从上面的列表中,触发NSLocationAlwaysUsageDescription要求的方法调用为CLLocationManager requestAlwaysAuthorization。通过快速搜索我的RN 0.46代码库,此调用会react-native/Libraries/Geolocation/RCTLocationObserver.m以和的形式出现。react-native-permissions因此,即使您不从JS调用此代码,它在二进制文件中的存在也会导致Apple对其进行标记。
最简单的解决方案是为NSLocationAlwaysUsageDescription添加一个plist条目,即使您从不要求获得许可也不会出现在用户面前。我今天早上上传到应用商店时遇到了这个问题,添加了标志后,我的应用进行了审核,没有问题。
libRCTGeolocation从技术上讲,从Xcode项目取消链接也应该起作用,尽管我尚未对此进行测试,所以我不能保证您的应用程序仍然可以正常运行。
| 归档时间: |
|
| 查看次数: |
4104 次 |
| 最近记录: |