簡體   English   中英

應用程序被拒絕使用非公開 URL 方案,這是一個私人實體

[英]App is rejected use of non-public URL scheme, which is a private entity

您的應用程序使用“prefs:root=”非公共 URL 方案,這是一個私有實體。 App Store 不允許使用非公共 API,因為如果這些 API 發生變化,可能會導致糟糕的用戶體驗。

如果用戶關閉位置服務,那我們怎么辦?? 因為應用程序需要用戶的位置。

您不能在您的應用中使用非公開 URL 方案。 如果您這樣做,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 方案,否則您將再次面臨拒絕。

要解決此問題,請修改您的應用以使用公共 API 提供相關功能,或使用“prefs:root”或“App-Prefs:root”URL 方案移除該功能。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM