您的应用使用"prefs:root="非公共 URL 方案,这是一个私有实体。App Store 不允许使用非公共 API,因为如果这些 API 发生变化,可能会导致用户体验不佳。
如果用户关闭位置服务,那么我们该怎么办??因为应用程序需要用户的位置。
若要解决此问题,请修改应用以使用公共 API 提供相关功能,或使用"prefs:root"或"App-Prefs:root"URL 方案删除该功能。
不能在应用中使用非公共 URL 方案。如果您这样做,Apple 将出于安全和隐私原因拒绝您的应用。如果您继续这样做,将导致永久禁用您的Apple开发人员帐户。
对于用户位置,您始终可以检查用户是否授予的位置权限。根据用户操作,您可以采取进一步的操作。
如何查看位置权限
import CoreLocation
将位置管理器创建为属性
var locationManager = CLLocationManager()
请求位置权限。
locationManager.desiredAccuracy = kCLLocationAccuracyBest
locationManager.delegate = self
locationManager.requestAlwaysAuthorization()
locationManager.startUpdatingLocation()
实现委托CLLocationManagerDelegate
以获取位置权限。
func locationManager(_ manager: CLLocationManager, didChangeAuthorization status: CLAuthorizationStatus) {
switch status {
case .authorizedAlways, .authorizedWhenInUse:
print("User has given location permission...")
//do something
case .denied, .notDetermined, .restricted:
print("Location permission is not given.")
//do something when location permission is not given by user or it can't be determined.
@unknown default:
print("unknown case...")
}
}
不要忘记Info.plist
文件中添加位置权限所需的密钥。
因此,通过这种方式,您可以管理位置权限并执行一些操作。
下次上传应用程序时,您需要删除非公共URL方案,否则您将再次面临拒绝。