Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xcode/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
升级到Cordova ios6会导致项目的xcode出错_Xcode_Cordova - Fatal编程技术网

升级到Cordova ios6会导致项目的xcode出错

升级到Cordova ios6会导致项目的xcode出错,xcode,cordova,Xcode,Cordova,我能够在ios5中成功构建和运行我的应用程序,但当我升级到ios6.1.0以安装允许我使用VKwebview和引用本地html文件的插件时,我在xcode中遇到3个致命错误: 在类型为“CDVViewController*”的对象上找不到属性“userAgent” 使用未声明的标识符“CDVUserAgentUtil”。(重复两次) 我完全不知所措,甚至开始寻找答案 这是我的config.xml: <?xml version='1.0' encoding='utf-8'?> <

我能够在ios5中成功构建和运行我的应用程序,但当我升级到ios6.1.0以安装允许我使用VKwebview和引用本地html文件的插件时,我在xcode中遇到3个致命错误:

  • 在类型为“CDVViewController*”的对象上找不到属性“userAgent”
  • 使用未声明的标识符“CDVUserAgentUtil”。(重复两次)
  • 我完全不知所措,甚至开始寻找答案

    这是我的config.xml:

    <?xml version='1.0' encoding='utf-8'?>
    <widget id="com.slate.v2" version="1.3.1" xmlns="http://www.w3.org/ns/widgets" xmlns:gap="http://phonegap.com/ns/1.0">
        <name>ACCELERATE RMS</name>
        <description>
           M-learning accelerated.
        </description>
        <author email="support@phonegap.com" href="http://phonegap.com">
            Cnnect
        </author>
        <content src="index.html" />
        <access origin="*" />
        <allow-navigation href="*" />
        <icon density="mdpi" height="57" platform="ios" src="icon.png" width="57" />
        <config-file overwrite="true" parent="NSCameraUsageDescription" platform="ios" target="*-Info.plist">
            <string>Allow the app to use your camera to take your profile picture.</string>
        </config-file>
        <preference name="AllowInlineMediaPlayback" value="true" />
        <preference name="AndroidPersistentFileLocation" value="Compatibility" />
        <platform name="ios">
            <preference name="WKWebViewOnly" value="true" />
            <feature name="CDVWKWebViewEngine">
                <param name="ios-package" value="CDVWKWebViewEngine" />
            </feature>
            <preference name="CordovaWebViewEngine" value="CDVWKWebViewEngine" />
        </platform>
        <platform name="ios">
            <preference name="Orientation" value="all" />
        </platform>
        <engine name="browser" spec="^5.0.4" />
        <plugin name="phonegap-plugin-contentsync" spec="~1.4.2" />
        <plugin name="cordova-plugin-camera" spec="~4.0.3" />
        <plugin name="cordova-plugin-geolocation" spec="~4.0.1" />
        <plugin name="cordova-plugin-file" spec="~6.0.1" />
        <plugin name="cordova-plugin-whitelist" spec="~1.3.3" />
        <plugin name="cordova-plugin-dialogs" spec="~2.0.1" />
        <plugin name="cordova-plugin-local-notification" spec="~0.9.0-beta.3">
            <variable name="ANDROID_SUPPORT_V4_VERSION" value="26.+" />
        </plugin>
        <plugin name="phonegap-plugin-barcodescanner" spec="~8.0.1" />
        <plugin name="onesignal-cordova-plugin" spec="~2.8.1" />
        <plugin name="cordova-plugin-file-transfer" spec="~1.7.1" />
        <plugin name="cordova-plugin-wkwebview-engine" spec="^1.2.1" />
        <plugin name="cordova-plugin-wkwebviewxhrfix" spec="~0.1.0" />
    </widget>
    
    
    加速RMS
    移动学习加速了。
    Cnnect
    允许应用程序使用您的相机拍摄您的个人资料照片。
    
    CDVUserAgentUtil
    科尔多瓦-ios@6
    这是一个突破性的变化(因此,
    cordova ios
    中的主要版本增加为
    6
    )。 这个类被项目中的一些Cordova插件使用,因此出现了错误

    您应该首先将所有插件更新为最新版本,以便使用那些已更新为删除了对
    cdvusagentutil
    的引用的插件

    至少有一个插件是和。在这种情况下,您可以使用此插件删除引用:

    cordova plugin rm cordova-plugin-file-transfer && cordova plugin add https://github.com/dpa99c/cordova-plugin-file-transfer
    
    可能是项目中的其他插件在更新所有插件后仍然包含对
    CDVUserAgentUtil
    的引用。 如果是这种情况,您应该搜索它们以查找引用:

    grep -r -l 'CDVUserAgentUtil' plugins/
    
    如果您发现有任何引用,并且没有可用的插件升级,您可以:

    • 针对插件提出问题,要求更新插件
    • 寻找已经更新的插件的分支
    • 分叉插件并自己修复它
    如果在更新所有插件以删除引用后构建仍然失败,则可能会有更多隐式引用,例如
    cordova plugin file transfer
    中的引用,因此您需要搜索并解决这些问题:

    grep -r -l 'userAgent' plugins/
    

    cordova中不推荐使用cordova插件wkwebview引擎iOS@6.x有关更多详细信息,请访问CordovaiOS@6.x默认情况下,它支持WKWebView而不是UIWebView。因此,您需要从项目中删除Cordova插件

    cordova plugin rm cordova-plugin-wkwebview-engine
    

    注意:为了您的安全,请在进行任何更改之前备份您的项目。

    粘贴您的config.xml