首页 > 解决方案 > Cordova IOS 不使用 NSMotionUsageDescription 值

问题描述

我正在更新我们的一个 Cordova 应用程序,以便 IOS 和 Android 的所有内容都是最新的。我在 IOS 中遇到的一件事是要求您必须请求动作许可。我能够让应用程序请求权限,但与其他权限不同,我无法自定义文本。

正文现在如下:

“localhost”想要访问运动和方向

但是其他权限显示我的应用程序的名称而不是“localhost”和我在 config.xml 中提供的描述我确实在 config.xml 中提供了描述,甚至在 Xcode 的 info.plist 文件中手动添加了描述,但没有任何帮助。

我正在使用 Ionic 6.9.2、Cordova 9.0.0 并将 ios@5.1.1 平台添加到 Cordova。

现在有谁可以提供描述并修复 Motion 权限请求中的“本地主机”?

标签: ioscordovaionic-framework

解决方案


也许这是一个老问题,但我希望这个答案会有所帮助。

您需要评论/删除文件夹leaflet.locatecontrol内的某些代码块。node_modules首先转到node_modules -> leaflet.locatecontrol -> src并打开文件L.Control.Locate.js,然后注释/删除以下代码:

if (this.options.showCompass) {
    var oriAbs = 'ondeviceorientationabsolute' in window;
    if (oriAbs || ('ondeviceorientation' in window)) {
        var _this = this;
        var deviceorientation = function () {
            L.DomEvent.on(window, oriAbs ? 'deviceorientationabsolute' : 'deviceorientation', _this._onDeviceOrientation, _this);
        };
        if (DeviceOrientationEvent && typeof DeviceOrientationEvent.requestPermission === 'function') {
            DeviceOrientationEvent.requestPermission().then(function (permissionState) {
                if (permissionState === 'granted') {
                    deviceorientation();
                }
            });
        } else {
            deviceorientation();
        }
    }
}

推荐阅读