ios - React Native 删除 iOS 的蓝牙权限警报
问题描述
我没有在我的应用程序代码中请求蓝牙权限,但它在应用程序加载时要求 iOS 中的权限警报。
我在我的代码中找不到任何参考,我遵循了以下建议的所有解决方案:link but it didn't work
我还在 NSBluetoothAlwaysUsageDescription 的 info.plist 中添加了以下目的字符串,但苹果拒绝了该应用程序。
“我们的应用程序不请求此权限或使用此功能,但它包含在我们的 info.plist 中,因为我们的应用程序使用了 react-native-permissions 库,该库在其代码中引用了此权限。”
如果有人有同样的问题并且能够解决这个问题,请帮助。谢谢
这是 pod 文件:
platform :ios, '9.0'
require_relative '../node_modules/@react-native-community/cli-platform-ios/native_modules'
def add_flipper_pods!(versions = {})
versions['Flipper'] ||= '~> 0.33.1'
versions['DoubleConversion'] ||= '1.1.7'
versions['Flipper-Folly'] ||= '~> 2.1'
versions['Flipper-Glog'] ||= '0.3.6'
versions['Flipper-PeerTalk'] ||= '~> 0.0.4'
versions['Flipper-RSocket'] ||= '~> 1.0'
pod 'FlipperKit', versions['Flipper'], :configuration => 'Debug'
pod 'FlipperKit/FlipperKitLayoutPlugin', versions['Flipper'], :configuration => 'Debug'
pod 'FlipperKit/SKIOSNetworkPlugin', versions['Flipper'], :configuration => 'Debug'
pod 'FlipperKit/FlipperKitUserDefaultsPlugin', versions['Flipper'], :configuration => 'Debug'
pod 'FlipperKit/FlipperKitReactPlugin', versions['Flipper'], :configuration => 'Debug'
# List all transitive dependencies for FlipperKit pods
# to avoid them being linked in Release builds
pod 'Flipper', versions['Flipper'], :configuration => 'Debug'
pod 'Flipper-DoubleConversion', versions['DoubleConversion'], :configuration => 'Debug'
pod 'Flipper-Folly', versions['Flipper-Folly'], :configuration => 'Debug'
pod 'Flipper-Glog', versions['Flipper-Glog'], :configuration => 'Debug'
pod 'Flipper-PeerTalk', versions['Flipper-PeerTalk'], :configuration => 'Debug'
pod 'Flipper-RSocket', versions['Flipper-RSocket'], :configuration => 'Debug'
pod 'FlipperKit/Core', versions['Flipper'], :configuration => 'Debug'
pod 'FlipperKit/CppBridge', versions['Flipper'], :configuration => 'Debug'
pod 'FlipperKit/FBCxxFollyDynamicConvert', versions['Flipper'], :configuration => 'Debug'
pod 'FlipperKit/FBDefines', versions['Flipper'], :configuration => 'Debug'
pod 'FlipperKit/FKPortForwarding', versions['Flipper'], :configuration => 'Debug'
pod 'FlipperKit/FlipperKitHighlightOverlay', versions['Flipper'], :configuration => 'Debug'
pod 'FlipperKit/FlipperKitLayoutTextSearchable', versions['Flipper'], :configuration => 'Debug'
pod 'FlipperKit/FlipperKitNetworkPlugin', versions['Flipper'], :configuration => 'Debug'
end
# Post Install processing for Flipper
def flipper_post_install(installer)
installer.pods_project.targets.each do |target|
if target.name == 'YogaKit'
target.build_configurations.each do |config|
config.build_settings['SWIFT_VERSION'] = '4.1'
end
end
end
end
target 'Urent' do
# React Native
rn_path = '../node_modules/react-native'
rn_maps_path = '../node_modules/react-native-maps'
# Pods for Urent
pod 'FBLazyVector', :path => "../node_modules/react-native/Libraries/FBLazyVector"
pod 'FBReactNativeSpec', :path => "../node_modules/react-native/Libraries/FBReactNativeSpec"
pod 'RCTRequired', :path => "../node_modules/react-native/Libraries/RCTRequired"
pod 'RCTTypeSafety', :path => "../node_modules/react-native/Libraries/TypeSafety"
pod 'React', :path => '../node_modules/react-native/'
pod 'React-Core', :path => '../node_modules/react-native/'
pod 'React-CoreModules', :path => '../node_modules/react-native/React/CoreModules'
pod 'React-Core/DevSupport', :path => '../node_modules/react-native/'
pod 'React-RCTActionSheet', :path => '../node_modules/react-native/Libraries/ActionSheetIOS'
pod 'React-RCTAnimation', :path => '../node_modules/react-native/Libraries/NativeAnimation'
pod 'React-RCTBlob', :path => '../node_modules/react-native/Libraries/Blob'
pod 'React-RCTImage', :path => '../node_modules/react-native/Libraries/Image'
pod 'React-RCTLinking', :path => '../node_modules/react-native/Libraries/LinkingIOS'
pod 'React-RCTNetwork', :path => '../node_modules/react-native/Libraries/Network'
pod 'React-RCTSettings', :path => '../node_modules/react-native/Libraries/Settings'
pod 'React-RCTText', :path => '../node_modules/react-native/Libraries/Text'
pod 'React-RCTVibration', :path => '../node_modules/react-native/Libraries/Vibration'
pod 'React-Core/RCTWebSocket', :path => '../node_modules/react-native/'
pod 'React-cxxreact', :path => '../node_modules/react-native/ReactCommon/cxxreact'
pod 'React-jsi', :path => '../node_modules/react-native/ReactCommon/jsi'
pod 'React-jsiexecutor', :path => '../node_modules/react-native/ReactCommon/jsiexecutor'
pod 'React-jsinspector', :path => '../node_modules/react-native/ReactCommon/jsinspector'
pod 'ReactCommon/callinvoker', :path => "../node_modules/react-native/ReactCommon"
pod 'ReactCommon/turbomodule/core', :path => "../node_modules/react-native/ReactCommon"
pod 'Yoga', :path => '../node_modules/react-native/ReactCommon/yoga', :modular_headers => true
pod 'DoubleConversion', :podspec => '../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec'
pod 'glog', :podspec => '../node_modules/react-native/third-party-podspecs/glog.podspec'
pod 'Folly', :podspec => '../node_modules/react-native/third-party-podspecs/Folly.podspec'
pod 'react-native-geolocation', path: '../node_modules/@react-native-community/geolocation'
pod 'Firebase', '~> 6.24.0'
pod 'Firebase/Core', '~> 6.24.0'
pod 'Firebase/Messaging', '~> 6.24.0'
pod 'GoogleMaps', '3.5.0'
pod 'Google-Maps-iOS-Utils', '2.1.0'
pod 'GoogleUtilities', '6.6.0'
pod 'GoogleAppMeasurement', '6.5.0'
pod 'react-native-google-maps', path: rn_maps_path # <~~ if you need GoogleMaps support on iOS
pod 'RNVectorIcons', :path => '../node_modules/react-native-vector-icons'
target 'UrentTests' do
inherit! :complete
# Pods for testing
end
use_native_modules!
# Enables Flipper.
#
# Note that if you have use_frameworks! enabled, Flipper will not work and
# you should disable these next few lines.
add_flipper_pods!
post_install do |installer|
flipper_post_install(installer)
installer.pods_project.targets.each do |target|
if target.name == 'react-native-google-maps'
target.build_configurations.each do |config|
config.build_settings['CLANG_ENABLE_MODULES'] = 'No'
end
end
if target.name == "React"
target.remove_from_project
end
end
end
end
target 'Urent-tvOS' do
# Pods for Urent-tvOS
target 'Urent-tvOSTests' do
inherit! :search_paths
# Pods for testing
end
end
解决方案
幸运的是,我能够解决问题并成功删除了蓝牙权限警报。就我而言,问题在于库“react-native-connectivity-status”。我将库从版本“1.5.2”降级为“1.5.1”。以下是步骤:
改变
"react-native-connectivity-status": "^1.5.1",
至
"react-native-connectivity-status": "1.5.1",
然后运行以下命令:
rm -rf node_modules/
rm package-lock.json
npm i
cd ios/
rm -rf Pods/
pod install
推荐阅读
- python - 如何使用 python(服务器)和 Angular(客户端)从 SQL Server 发送 pdf 数据和保存
- css - 以字体显示标题 - 真棒图标
- php - simplexml_load_file 通过 url 读取远程 xml,由对等方重置连接
- sql-server - 在临时表中插入相同表和不同变量的值
- javascript - 在数组中查找模式
- java - Vaadin Flow:组件和元素之间的区别
- sql - 修剪字符串直到一个值
- python - numpy数组的元素之和与总数不同
- typo3 - TYPO3 Gridelements 使用 Fluidtemplate 渲染 FAL 图像
- python - 在 Django 中显示用户的所有帖子