I don't know English well so I use a translator. Please understand.
I am using iPhone 6 iOS 12.4.
When building with XCode, location permissions will show in app settings, but apps on test flights will not show location permissions in app settings.
React native info output:
System:
OS: macOS Mojave 10.14.6
CPU: (12) x64 Intel(R) Core(TM) i7-8750H CPU @ 2.20GHz
Memory: 18.69 MB / 16.00 GB
Shell: 5.7.1 - /usr/local/bin/zsh
Binaries:
Node: 10.16.0 - /usr/local/bin/node
Yarn: 1.13.0 - /usr/local/bin/yarn
npm: 6.9.0 - /usr/local/bin/npm
Watchman: 4.9.0 - /usr/local/bin/watchman
SDKs:
iOS SDK:
Platforms: iOS 13.0, DriverKit 19.0, macOS 10.15, tvOS 13.0, watchOS 6.0
Android SDK:
API Levels: 23, 26, 27, 28
Build Tools: 27.0.3, 28.0.3
System Images: android-28 | Google Play Intel x86 Atom, android-Q | Intel x86 Atom_64, android-Q | Google Play Intel x86 Atom
IDEs:
Android Studio: 3.4 AI-183.6156.11.34.5692245
Xcode: 11.0/11A420a - /usr/bin/xcodebuild
npmPackages:
react: 16.9.0 => 16.9.0
react-native: 0.61.1 => 0.61.1
npmGlobalPackages:
react-native-cli: 2.0.1
Library version: 2.0.2
plist
<key>NSLocationAlwaysAndWhenInUseUsageDescription</key>
<string>근무지를 확인하기 위해 필요합니다.</string>
<key>NSLocationAlwaysUsageDescription</key>
<string>근무지를 확인하기 위해 필요합니다.</string>
<key>NSLocationWhenInUseUsageDescription</key>
<string>근무지를 확인하기 위해 필요합니다.</string>
podfile
permissions_path = '../node_modules/react-native-permissions/ios'
pod 'Permission-LocationAlways', :path => "#{permissions_path}/LocationAlways.podspec"
pod 'Permission-LocationWhenInUse', :path => "#{permissions_path}/LocationWhenInUse.podspec"
pod 'Permission-PhotoLibrary', :path => "#{permissions_path}/PhotoLibrary.podspec"
Describe what you expected to happen:
@Hatvan Did you request it first? On iOS, permissions switches ill not appear until you request them
@zoontek
thank you for the reply.
We checked the location permission first, and if it doesn't have a permission, we popped up an Alert to direct the user to the app settings
@Hatvan Do you only use check? That's not enough.
@zoontek Yes I only use check because, unlike Android, when I execute the request on iOS, the permission popup does not appear.
@Hatvan What status is returned by the request? (even if no popup appear)
@zoontek request return "blocked"
@Hatvan Can you create a small repo with a reproductible issue?
@zoontek It's late now, so it's going to be hard right now. If you don't mind, can I upload it tomorrow?
@Hatvan No problem
@zoontek request return "blocked"
I re-wrong the answer above.
When running request, iPhone 6 iOS 12.6 (connected to MacBook, built with XCode) displays a dialog normally and returns blocked on iPhone X iOS 13 (emulator).
I'll make a new repo tomorrow
Thank you.
@zoontek request return "blocked"
I re-wrong the answer above.
When running request, iPhone 6 iOS 12.6 (connected to MacBook, built with XCode) displays a dialog normally and returns blocked on iPhone X iOS 13 (emulator).
I'll make a new repo tomorrow
Thank you.
This seems more logic to me.
On the iOS 13 simulator, you have to reset your app permission to request them again (Settings > General > Reset).

@zoontek
Thank you!!
I had been thinking for days. It is so good to solve Thanks again
I won't make a repo
Most helpful comment
This seems more logic to me.
On the iOS 13 simulator, you have to reset your app permission to request them again (Settings > General > Reset).