config.xml 中的 <gap:config-file platform="ios" parent="NSLocationAlwaysUsageDescription" overwrite="false"> 应用程序崩溃

Application crashes with <gap:config-file platform="ios" parent="NSLocationAlwaysUsageDescription" overwrite="false"> in config.xml

在 iOS 基于 cordova 的应用程序中,应用程序崩溃并在控制台出现以下错误

断言失败 -[CDVConfigParser parser:parseErrorOccurred:], /Users/platforms/ios/CordovaLib/Classes/CDVConfigParser.m:85

由于未捕获的异常 'NSInternalInconsistencyException' 正在终止应用程序,原因:'config.xml parse error line 41 col 47'

In line 41 : I have below line in config.xml

<gap:config-file platform="ios" parent="NSLocationAlwaysUsageDescription" overwrite="false">

它仅在 iOS 6.X.X 版本上崩溃,但在 iOS 8.0 及更高版本上工作正常

我是 cordova 插件的新手。任何人都请帮我解决这个崩溃问题

NSLocationAlwaysUsageDescription 用于访问用户的位置信息 iOS 8 及以上版本..

应用程序因在 config.xml

中使用 NSLocationAlwaysUsageDescription 而崩溃

相反,您可以在 info.plist 中使用 NSLocationAlwaysUsageDescription 值,如果您在 config.xml

<gap:config-file platform="ios" parent="NSLocationAlwaysUsageDescription" overwrite="false">
    <array>
        <string>NSLocationAlwaysUsageDescription</string>
    </array>

更多:Refer this

这是因为 iOS 8.0 中的新更新。

在下方写下您获得位置更新许可的条件。

if (SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(@"8.0")) {
        [locationManager requestAlwaysAuthorization];
    }

#define SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(v) ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] != NSOrderedAscending)