Search code examples
cordovaphonegap

Upgrading from Phonegap 7.0.1 to 7.1.0 causing the ios build to fail


I am trying to upgrade from Phonegap cli-7.0.1 to Phonegap cli-7.1.0 by changing the version in config.xml file

I get the following error in the ios build on phonegap

ld: 2 duplicate symbols for architecture arm64 clang: error: linker command failed with exit code 1 (use -v to see invocation)

The android version builds fine.

I am using phonegap-plugin-push version 2.0.0 which I believe could be causing the problem.

Any help in resolving this is appreciated !

Below is the config file:

    <?xml version='1.0' encoding='utf-8'?>
    <widget id="com.MyPrivateApp.MyPrivateApp" version="1.0.14" 
    xmlns="http://www.w3.org/ns/widgets" 
    xmlns:cdv="http://cordova.apache.org/ns/1.0">
        <name>MyPrivateApp</name>
        <description>
            MyPrivateApp
        </description>
<author email="support@MyPrivateApp.com" href="http://cordova.io">
    MyPrivateApp LLC
</author>
<content src="index.html" />
<icon src="icon.png" />
<access origin="*" />
<allow-intent href="http://*/*" />
<allow-intent href="https://*/*" />
<allow-intent href="tel:*" />
<allow-intent href="sms:*" />
<allow-intent href="mailto:*" />
<allow-intent href="geo:*" />
<feature name="http://api.phonegap.com/1.0/camera" />
<feature name="http://api.phonegap.com/1.0/file" />
<platform name="android">
    <resource-file src="google-services.json" target="google-services.json" />
    <preference name="android-minSdkVersion" value="14" />
    <allow-intent href="market:*" />
</platform>
<platform name="ios">
    <resource-file src="GoogleService-Info.plist" />
    <allow-intent href="itms:*" />
    <allow-intent href="itms-apps:*" />
    <preference name="BackupWebStorage" value="none" />
    <icon height="180" src="www/res/icon/ios/icon-60@3x.png" width="180" />
    <icon height="60" src="www/res/icon/ios/icon-60.png" width="60" />
    <icon height="120" src="www/res/icon/ios/icon-60@2x.png" width="120" />
    <icon height="76" src="www/res/icon/ios/icon-76.png" width="76" />
    <icon height="152" src="www/res/icon/ios/icon-76@2x.png" width="152" />
    <icon height="40" src="www/res/icon/ios/icon-40.png" width="40" />
    <icon height="57" src="www/res/icon/ios/icon.png" width="57" />
    <icon height="114" src="www/res/icon/ios/icon@2x.png" width="114" />
    <icon height="72" src="www/res/icon/ios/icon-72.png" width="72" />
    <icon height="144" src="www/res/icon/ios/icon-72@2x.png" width="144" />
    <icon height="58" platform="ios" src="www/res/icon/ios/icon-58.png" width="58" />
    <icon height="87" platform="ios" src="www/res/icon/ios/icon-87.png" width="87" />
    <icon height="1024" platform="ios" src="www/res/icon/ios/icon-1024.png" width="1024" />
</platform>
<preference name="DisallowOverscroll" value="true" />
<plugin name="cordova-plugin-whitelist" spec="~1.2.0" />
<plugin name="cordova-plugin-console" spec="~1.0.1" />
<plugin name="cordova-plugin-statusbar" spec="~1.0.1" />
<plugin name="cordova-plugin-camera" source="npm" spec="~2.4.1">
    <param name="CAMERA_USAGE_DESCRIPTION" value="The application utilized camera function when you take pictures of the goods and services you want to share" />
    <param name="PHOTOLIBRARY_USAGE_DESCRIPTION" value="The application may require access to photo library for you to upload images " />
</plugin>
<preference name="phonegap-version" value="cli-7.1.0" />
<preference name="orientation" value="portrait" />
<plugin name="phonegap-plugin-push" spec="~2.0.0" />
<engine name="browser" spec="~5.0.2" />
<plugin name="cordova-plugin-inappbrowser" spec="~2.0.2" />
    </widget>

Solution

  • Remove cordova-plugin-console, it was integrated into the platform, so you have the classes duplicated