我的应用程序存在的问题是,当用户首次拒绝访问媒体库时,然后当他回来并尝试从手机上传照片时,设备不再询问您是否要允许该应用程序进入在您的媒体库中,此问题仅在IOS中存在,因为在Android中,我可以通过以下方法解决此问题:
从“ react-native”导入{PermissionsAndroid};
答案 0 :(得分:1)
这是权限在iOS中的工作方式,一旦被拒绝,就无法真正让应用再次请求权限。使用户启用权限的唯一方法是将他们定向到其应用程序的设置,然后手动将其打开。
我对权限进行以下操作。
我使用react-native-permissions
来检查并请求我在iOS中所需的权限。 https://github.com/yonahforst/react-native-permissions
然后我使用react-native-open-settings
打开设置页面。 https://github.com/lunarmayor/react-native-open-settings
这两种方法都需要修改本机代码,因此它们将无法在Expo
我还在我的应用程序中使用Redux(您可能可以使用AsyncStorage),并且我跟踪AppState。因此,我知道用户何时从设置屏幕返回到应用程序,以便我可以在应用程序中执行任何适当的操作(例如再次检查权限,打开媒体库等)。